|
|
发表于 2012-4-6 09:47:22
|
显示全部楼层
本帖最后由 湮汐 于 2012-4-6 09:50 编辑
其实楼上几位都说的蛮好的了,如同5楼所说,( C=getchar() ) !=EOF这样理解是对的。
getchar的功能是:若缓冲区满或者用户按下回车键,就从缓冲区读入一个字符,如果是while(c=getchar()),那么就会从缓冲区连续不断的读入字符。 "!="是逻辑运算符,表示 不等于 。另外 EOF,在这里不是指三个字母EOF,这里是一个特殊字符。更精确地说成C标准函式库中表示文件结束符(end of file)。你也可以换成其他的任意字符,例如'#','*',这些都可以。我们知道,字符一般是用int型储存到内存中的,而且是按照ASCII表来存储的,但是ASCII表的范围是0~127,而且就算是扩展之后的字符常用表也是0~255,不可能出现负数。EOF的值,则是-1,所以一般情况下不会输入EOF,所以用EOF这个字符判断结束是很好的方法。
至于EOF如何输入,在 Linux上的输入方法是 ctrl+D,在 windows上的输入是ctrl+Z
希望对楼主有作用! |
|