scanf函数返回值是成功输入的变量个数 while(scanf("%d",&x)==1){.....}我一次性输入多个x为什么返回还是1

如题所述

执行成功就返回真追问

但scanf的返回值不是成功输入的变量个数么 谢谢了!

追答

只要返回的是非0值,都是真,所以都是等于1

追问

已经知道了 是因为每次只读取一个数 进入循环体再读取第二个数 不过还是谢谢了

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-01-31
1代表执行成功,不是确切的实数

scanf函数返回值是成功输入的变量个数 while(scanf("%d",&x)==1){...
因为一次只能读一个。比如输入 1 2 3 4 5后,第一次读取的是x=1,进入while循环体内,循环体结束再读取第二个数,即2.直到条件不满足。

scanf函数返回值是成功输入的变量个数 while(scanf("%d",&x)==1){...
执行成功就返回真

while(scanf("%d",&x) == 1)\/\/ctrl+z到底是怎么作用,终止循环?
scanf("%d",&x)其返回值为正确输入的变量个数. 正确执行时会成功给x赋值,即赋值了一个变量. 返回1.当出错的时候,比如输入了字母,那么就会返回0.当遇到文件结束标记EOF的时候,会返回-1.所以,这个代码,不一定要ctrl +z 输入任意非数字字符就可以终止循环了.ctrl +Z 就是windows上输入EOF标记的方...

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

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

关于scanf 返回值得问题
楼主你好 scanf函数的返回值 是表示正确读入变量的个数 由于你写的scanf是:scanf("%d",&x)那么scanf函数每次只读入一个数 所以 只要你输入的数是正确的 那么每次就是返回1 因此 你的while循环会一直执行下去 希望能帮助你哈

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

怎么用scanf的返回值 判断输入的是不是一个整数
scanf()函数返回的值为:正确按指定格式输入变量的个数;也即能正确接收到值的变量个数。如:a=scanf("%d",&n);所以只要你输入一个整型,a=1,如果输入的不是整形,是字符串,浮点等等的,a=0;

scanf返回的是成功匹配的变量个数。这句话怎么理解 大牛们能举个例子...
scanf()读取匹配format(格式)字符串的输入. 当读取到一个控制字符, 它把值放置到下一个变量. 空白(tabs, 空格等等)会跳过. 非空白字符和输入匹配, 然后丢弃. 如果是一个在%符号和控制符间的数量, 那么只有指定数量的字符转换到变量中. 如果scanf()遇到一个字符集(用%[]控制字符表示), 那么在...

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

相似回答