C中的无限循环代码

Min*_*ana 2 c infinite-loop

在下面的程序中,我尝试在1to 之间输入一个数字,100但是如果我在语句的执行时间内输入a 'character'"string"(如s或sova),scanf()则会创建一个无限循环.所以我试着做....当我输入一个字符串或一个字符时,它向我显示一条消息,例如"输入了错误的值.再次输入",它将再次输入...
Thanx;

#include<stdio.h>
int main()
{
    int a;
    scanf("%d",&a);
    while(!(a>=1&&a<=100))
    {
        printf("wrong value entered. enter again\n");
        scanf("%d",&a);
    }
    printf("you enter %d. Thanxz",a);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

Ed *_*eal 5

  1. 你需要检查的返回值 scanf
  2. 如果用户没有输入整数,则需要输入输入.该scanf函数将不断说不是整数,请再试一次.因此,如果scanf返回0,则需要处理它