[求助]关于EOF
一直有细节上的问题让我模糊,请帮帮忙.
关于EOF,很清楚,我的理解一直都是END OF FILE,在头文件<stdio.h>中定义,是一个整形数,其值经过测试也知道是-1.
然后,在如下程序段中,
while((c=getchar())!=EOF)
purchar(c;)
也就是说,c如果遇到EOF的话,则循环停止,很明显C是一个char类型,如果输入是1,对于C来说并不是数值上的1,应该是'1',相当于整数的49吧.
但是在实际应用中,在命令行下若要退出上面循环,我们输入的应该是CTRL+Z.在我平时应用中,一般用'#'等不经常用的来作为循环结束标志.
那么EOF在实际应用中应该在文件中起作用吧.那么,这个EOF的标记是系统自动添加的吗?如同字符串数组中末尾的'\0'?能不能举例来说明下?
另外,其整数的值对应的为-1,那么ctrl+z与这个-1有关系吗?我所知道的ASC11字符集中都是0-127啊.
可能问题简单,请指教下~
[此贴子已经被作者于2006-7-22 11:11:24编辑过]