关于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 不是系统自己检测的吗? 还是需要我人为的给输入? 如果是人为的,那么我应该如何输入? #define EOF (-1)
一般情况下在C语言中EOF的值被定义为“-1”;
ASCII操作符您可以用ctrl + z来输入EOF。 EOF== END OF FILE 不知道啊:mad: 小甲鱼 发表于 2011-4-9 19:13
#define EOF (-1)
一般情况下在C语言中EOF的值被定义为“-1”;
ASCII操作符您可以用ctrl + z来输入E ...
改成EOF后输出结果是什么?最后一个'\0'也能被输出来但是看不到是吧
页:
[1]