LNH_Sniper 发表于 2011-4-9 16:54:54

关于EOF的问题

有这么两段程序
#include "stdio.h"

int main()
{
   int c;
   while((c=getchar())!='\n')
   {
      putchar(c);
   }
    printf("its over!!\n");
    return 0;
}

这段代码能输出我输入的字符串,因为每次输入一个字符C 检测 字符C 是不是等于'\n';
现在 我将这段代码更改成下面这样   while((c = getchar()) ! = EOF)

其他的不变 那么,当我输入一个字符串的时候是检测不到字符串结尾的
我的问题是 这个EOF 不是系统自己检测的吗? 还是需要我人为的给输入? 如果是人为的,那么我应该如何输入?

小甲鱼 发表于 2011-4-9 19:13:51

#define EOF   (-1)
一般情况下在C语言中EOF的值被定义为“-1”;
ASCII操作符您可以用ctrl + z来输入EOF。

kithon 发表于 2011-4-11 16:31:06

EOF== END OF FILE

鱼C工作室.YCGZS 发表于 2015-12-11 12:03:57

不知道啊:mad:

MISSIVERSON 发表于 2015-12-11 17:41:13

小甲鱼 发表于 2011-4-9 19:13
#define EOF   (-1)
一般情况下在C语言中EOF的值被定义为“-1”;
ASCII操作符您可以用ctrl + z来输入E ...

改成EOF后输出结果是什么?最后一个'\0'也能被输出来但是看不到是吧
页: [1]
查看完整版本: 关于EOF的问题