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

麻烦详细说下,谢谢。

scanf 函数有一个返回值,0表示接受输入失败,1表示接受输入成功。 while(scanf("%d",&x)==1) 的意思就是: 当接收输入变量x的值成功的时候,继续做循环。
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-09-23
scanf的返回值
scanf的返回值由后面的参数决定 scanf("%d%d", &a, &b); 如果a和b都被成功读入,那么scanf的返回值就是2 如果只有a被成功读入,返回值为1 如果a和b都未被成功读入,返回值为0 如果遇到错误或遇到end of file,返回值为EOF。 且返回值为int型.

参考资料:http://baike.baidu.com/view/1390039.htm

本回答被提问者采纳
第2个回答  2012-05-17
1.scanf()函数有返回值且为int型。
2.scanf()函数返回的值为:正确按指定格式输入变量的个数;也即能正确接收到值的变量个数。
第3个回答  推荐于2018-05-10
成功完成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可怜俺给个分吧本回答被网友采纳

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

while(scanf("%d",n)==1) 是什么意思呢?
while(scanf("%d",&n)==1) \/\/表示当正确的输入了一个值,重复执行后面的代码。

while(scanf("%d",&n) == 1) 这句是什么意思,“== 1”到底指的是什么...
判断有没有输入值,输入一次就进入循环,如果没输了,就循环结束了。

while (scanf("%d", &n)==1 && n!=0)具体什么意思
scanf("%d",&a),输入一个数,scanf返回值为1,如果输入的是字母什么乱七八糟的,scanf返回0,输入不成功,那么这句话的意思就是,检测输入的数不为0,再进行循环~

c语言 while(scanf("%d", &num) == 1) 起什么作用
1、scanf()是格式输入函数,它的返回值是已经正确输入变量的个数,如返回值为1,代表已经输入了一个变量,但它的返回值一般不用。2、==是c语言中逻辑运算符"相等"的符号,scanf("%d", &sum) == 1表示scanf函数的返回值为1。3、while(scanf("%d", &sum) == 1) 是整句话的意思是当变量...

c语言中while(scanf("%d",&x)==1)是什么意思?
while(scanf("%d",&x)==1)相当于 while(1){scanf("%d",&x)} 就是说只要输入成功就进入循环。然后下一次循环前又先输入;

C语言while(scanf("%d",&num)==1);语句的一个问题
scanf()函数的返回值是返回成功赋值的数据项数,所以不论你输入的是数字还是空格,只要正常读入了,scanf()函数的返回值就是1。只不过空格是将空格的ACSII码值读入赋值给num了

C语言:while(~scanf("%d",&n))什么意思呀? while(!scanf("%d
其实scanf("%d",&n),n这是一个逗号表达式,所谓逗号表达式,它的值是逗号后面的那个数,举例如下:y=(5,6);\/\/那么y=6,注意的是因为逗号表达式的优先级比赋值运算还低,所以如果你写成y=5,6的话y还是等于5的 也就是说while(scanf("%d",&n),n)其实相当于while(n),只是因为要输入所以写成...

c语言的问题关于while(scanf(“%d",&sum)!=1)
scanf从缓冲区读取:你输入的字符串会保存在一个缓冲区内,scanf在正确的时候是到这个缓冲区中读取字符,并且从缓冲区中删除字符。但如果是%d格式碰到了字母,则不会读取也不会删除,之后ABC还在缓冲区内。scanf不停止:如果缓冲区内有内容,scanf是不会停下来等你输入的,因为ABC一直在缓冲区内,所以...

scanf("%lf", &n) == 1是什么意思
就是输入成功的意思,while (scanf("%lf", &n) == 1)表示一直输入直到出现错误

相似回答