扫描直到通过正确的输入为止不起作用

时间:2019-08-12 15:11:40

标签: c loops scanf

如果首先输入'a',则代码应打印“输入正确的输入”并循环返回以再次运行scanf()并询问新的输入,但它将继续无限打印“输入正确的输入”顺序;为什么?

#include<stdio.h>
int main(){
    int var,n;
    while(1){
        BEGIN:
        var=scanf("%d",&n);
        if(var==1)
            break;
        else{
            printf("Enter Correct Input\n");
            goto BEGIN;
        }
    }
    return 0;
}

我希望程序要求输入:

  1. 如果输入“ a”,则应输出“输入正确的输入”
  2. 然后再次要求输入新值,因为它是无效值
  3. 如果输入了6(int),则scanf()成功返回“ 1”作为(没有正确的输入),因此最终循环结束。

[在此处输出图像检查] 1

0 个答案:

没有答案