当前位置: 代码迷 >> C语言 >> 这句话是什么意思
  详细解决方案

这句话是什么意思

热度:110   发布时间:2007-09-14 11:54:02.0
这句话是什么意思
int n;
while(scanf("%d",&n)!=EOF){}
这里不能直接写成scanf("%d",&n)吗?EOF有什么用?,谢谢~学c的时候没学好 -.-
----------------解决方案--------------------------------------------------------

scanf("%d",&n)!=EOF

如果你的输入没错误```那么就返回成功输入的参数的个数``你这里有一个参数`输入没问题就返回1
输入EOF``就返回EOF``


----------------解决方案--------------------------------------------------------
windows下EOF为ctrl+z````

并且要换新的一行输入```


----------------解决方案--------------------------------------------------------
不能这么写,不是因能你的格式不对,而scanf()的返回值的问题.
当输入成功返回1,不成功返回0
而EOF在#include<stdio.h>的宏定义如下:
#define EOF (-1) /* End of file indicator */
所以,scanf()的返回值不可能为EOF.

至于,EOF的作用在宏定义的解释中明确写出.
----------------解决方案--------------------------------------------------------
楼上正解!EOF是end of file的意思。
----------------解决方案--------------------------------------------------------
  相关解决方案