如何同时调用俩次scanf 给一个变量赋值?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何同时调用俩次scanf 给一个变量赋值?相关的知识,希望对你有一定的参考价值。
int i , Result = 0;
Result = scanf("%d", &i);
while(!Result)
Result = scanf("%d", &i);
这段程序是为了检查第一次录入的i值是否为整型值
如不是整型 则会返回0 进入while循环
但是里面的scanf()却不能响应再次赋值了
有高手知道怎么回事么 求指教
当扫面到while语句的时候,你的a仍然在缓冲区内,所以你无法输入,自动无限循环!
只要在进入while清空输入缓冲区就可以了~
int i , Result = 0;
Result = scanf("%d", &i);
fflush(stdin); //清空输入缓冲区 就好了!
while(!Result)
Result = scanf("%d", &i);
参考技术A scanf()函数返回成功赋值的数据项数,读到文件末尾出错时则返回EOF。
所以你不能进入while循环 参考技术B 在判断条件的时候就退出了。
以上是关于如何同时调用俩次scanf 给一个变量赋值?的主要内容,如果未能解决你的问题,请参考以下文章
c语言编程。输入两个正整数,分别赋给变量a,b,计算ab之间所有整数之和。