amos~ 2021-05-22 18:31 采纳率: 0%
浏览 1210

while(scanf("%d",&i)==1)表是什么含义

while(scanf("%d",&i)==1)表是什么含义

  • 写回答

8条回答 默认 最新

  • 爱晚乏客游 2021-05-22 22:07
    关注

    为什么一群人都回答错误,这和i有什么关系。

    scanf("%d %d",&a,&b);

    函数返回值为int型。如果a和b都被成功读入,那么scanf的返回值就是2;

    如果只有a被成功读入,返回值为1;

    如果a读取失败,返回值为0;

    如果遇到错误或遇到end of file,返回值为EOF。end of file为Ctrl+z 或者Ctrl+d。

    scanf函数的返回值主要是用来判断输入是否正确的。正确的一个输入返回1,否则返回0.所以整句话就是先判断输入是否为整形数字,不是为整数返回值是0.和1不相等,也就是不会进入while循环里面。而输入是整数的话,则会进入while。写个简单的测试程序就知道了。

    int main(){
      int a;
      while(scanf("%d",&a)==1){
    
        printf("###");
      }
    return 0;
    }
    
    评论

报告相同问题?