getchar问题
#include <stdio.h>
/* copy input to output; 2nd version */
main()
{
int c;
while ((c = getchar()) != EOF)
putchar(c);
}
上面的程序,我要从键盘输入什么它才能认为是EOF?我明白如果getchar函数返回-1,那么程序可以停下来。我输入什么可以得到-1呢?
问题点数:20、回复次数:9Top
1 楼jobine(愚人渡)回复于 2005-06-02 14:54:25 得分 3
ctrl + ZTop
2 楼xxyyboy(壮志凌云)(★★★★★)回复于 2005-06-02 15:02:04 得分 3
当你中止该程序是,才可能出现EOF, 或者读文件是,文当读完了,会返回一个EOF结束符。Top
3 楼zhousqy(标准C匪徒)(甩拉,甩拉)回复于 2005-06-02 15:14:42 得分 3
ctrl+z or ctrl+dTop
4 楼clear117(小风)回复于 2005-06-02 16:13:52 得分 3
可以通过ctrl+z 、ctrl+c、ctrl+d将程序“结束”
之所以打引号是因为其中只有2个是真正的结束,ctrl+z 只是回退,并未结束进程。如果你用ctrl+z 回退的话进程将继续存在于后台。此时只能用kill来杀掉了Top
5 楼llf_hust()回复于 2005-06-02 16:37:48 得分 2
CTRL+ZTop
6 楼jixingzhong(瞌睡虫·星辰)回复于 2005-06-02 16:48:00 得分 2
CTRL+Z
意味EOF!!Top
7 楼mostideal(三甲)回复于 2005-06-02 23:32:44 得分 2
CTRL+Z
===========
都说了。。Top
8 楼foochow(无聊,灌水......)回复于 2005-06-02 23:42:58 得分 1
mark!!!Top
9 楼lofen(lofen)回复于 2005-06-03 00:03:41 得分 1
实验了一下
果然如此
长知识啊
可作为程序退出的好方法啊Top




