在for循环中使用scanf返回值

时间:2017-06-05 22:20:09

标签: c for-loop scanf

我试图在for-loop

中使用scanf函数的返回值
#include<stdio.h>
int main(){

int a, b, c;

for(a = 0; a < 10; ++a){
    c = scanf("%d", &b);
    if(c != 1)
        printf("error ");
    else
        printf("ok ");
}
return 0;
}

这个想法基本上是为了防止用户写入除int值之外的任何内容。但是它出错了,每当用户键入一个非int值时,它就会开始循环,打印&#34; error&#34;一遍又一遍,直到for循环结束。 我不想让它破坏&#39;当输入的值不是整数时,for循环,但显示&#34;错误&#34;消息并保持接收值,直到循环结束。

0 个答案:

没有答案