本文介绍了C For 循环跳过循环 scanf 中的第一次迭代和虚假数字的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在为学校创建邮件标签生成器,但遇到了一些问题.我的程序是从 0 到 10 获取个人的全名、地址、城市、州和邮政编码.在运行我的程序时,我遇到了两个主要问题.for 循环跳过全名safergets()"并移至地址safergets.我继续查看其他一切是否正常,但我对邮政编码的验证无法正常工作.我添加了一个 printf 来查看输入是否是相同的数字,并发现它是假的.此外,我在尝试将状态输出大写的行中收到错误代码.我确定我错误地使用了 toupper.下面附上我的代码、错误代码和输出.
#include #include /* 定义结构 */结构信息{字符全名[35],地址[50],城市[25],州[3];长整数邮政编码;};/* 函数更安全 *//* ------------------- */void safe_gets (char array[], int max_chars){/* 声明变量.*//* ------------------ */国际我;/* 从输入缓冲区读取信息,一个字符一个字符,*//* 直到可能的最大字符数.*//* ------------------------------------------------------ */for (i = 0; i