C语言问题循环问题 20
当运行到printf("输入转换的原进制数:");scanf("%ld",&b);时,输入数字无论真假都没有问题,但是一但输入字母,就无限循环了,请大家帮忙改改,想一旦输...
当运行到printf("输入转换的原进制数:");scanf("%ld",&b);时,输入数字无论真假都没有问题,但是一但输入字母,就无限循环了,请大家帮忙改改,想一旦输入错误,就跳到printf("输入转换的原进制数:");scanf("%ld",&b);这里,让用户重新输入,请加大帮忙改改!谢谢
展开
7个回答
展开全部
前面用 if(b>=65&&b<=122) printf("");else再加上你后来写的试试.... 我随时在线...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C的输入输出对数据类型不敏感,输入错误的数据类型可能导致逻辑错误设置是致命错误。
使用字符读入,对每个字符进行判断,如果是数字就计算进变量b中 如果在读到空字符前遇到非数字的字符(除了+ —)就停止循环,并设置输入跟踪变量bool right=0,作为循环判断条件
使用字符读入,对每个字符进行判断,如果是数字就计算进变量b中 如果在读到空字符前遇到非数字的字符(除了+ —)就停止循环,并设置输入跟踪变量bool right=0,作为循环判断条件
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
while( 65=<(int)(getchar())<122 )
{
printf("error,input again!\n");
}
试试。。
{
printf("error,input again!\n");
}
试试。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询