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

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

为什么一群人都回答错误,这和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;
}

 

就是让你一直输入参数,不输入程序就卡着等你输入,输入后就进行循环处理。循环跳出需要你自己break实现

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

循环输入整数给i,当i等于1时继续while循环!不等于1时,结束循环!

表示输入参数的个数

键盘输入的值和1比较,相等就循环

表示输入参数的个数,意思就是输入了参数就循环。

键盘输入的值和1比较,相等就一直循环,直到不想等循环结束