tfsf.net
当前位置:首页>>关于C语言中while(scanf("%d",&a)==1)是什么意思?的资料>>

C语言中while(scanf("%d",&a)==1)是什么意思?

c语言中所有的非0值都代表true scanf等于得到输入值的输入项的个数,比如输入一个数就返回1,输入两个数返回2

scanf 函数有一个返回值,0表示接受输入失败,1表示接受输入成功. while(scanf("%d",&x)==1) 的意思就是: 当接收输入变量x的值成功的时候,继续做循环.

scanf()函数返回成功赋值的数据项数,读到文件末尾出错时则返回eof.如: scanf("%d %d",&a,&b); 如果a和b都被成功读入,那么scanf的返回值就是2 如果只有a被成功读入,返回值为1 如果a和b都未被成功读入,返回值为0 如果遇到错误或遇到end of file,返回值为eof.且返回值为int型.!scanf("%d",&n)==scanf("%d",&n)=0 ~scanf("%d",&n) ,~为取反(二进制下)

while(scanf("%d",&x)==1)相当于 while(1){scanf("%d",&x)}就是说只要输入成功就进入循环.然后下一次循环前又先输入;

成功完成scanf里对n的输入后(读入) scanf返回值为1 于是变成while(1)与是再次循环;反之 对n输入不符输入条件的值(字符)使之报错 回eof eof返回负数(一般为-1) while(-1) 立马终止;若未读如 scanf返回值为0 于是while(0) 于是循环马上结束.ps:若scanf("%d%d",&n,&n1) scanf返回值2 ……“%d%d%d”…… 返回值3……如此. while(a),a!=0 while循环继续 a==0或负数 while循环终止 lz可怜俺给个分吧

scanf()函数的原型是 :int scanf(str,pointer),返回的就是你所输入的数据项的个数,在这里,如果你输入的数据个数<0或者>1都会自动结束while循环.

意思指的是如果从键盘上获取的一个数字等于1,和一相等的情况下就会进入到循环里面.

%*c表示读取字符,但是不赋值给字符变量.

这个是因为scanf每次只根据你写的格式 读取数据, 比如按你的 如果 输入 1 2 3 4 5 6, 他就会读取俩个数据, 1和2 ,然后输出a+b=3 然后再次进入while循环, 读取俩个数据,3 和4 输出7 但是因为EOF特殊,按回车也会截止, 所以你可以把 EOF换成 0 ,但是这样 你输入a,b的时候 就不可以是0了

您好,在C语言中 while();为循环语句,其结果只有2种,while(0);0为假,跳出循环 while(1);1为真,继续执行循环体中的代码.那么在while();括号中即为判断语句,在您的while(scanf("%d",&n)!=EOF&&n); 中有两个逻辑运算符分别

相关文档
网站首页 | 网站地图
All rights reserved Powered by www.tfsf.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com