getchar()和EOF的问题

来源:互联网 发布:淘宝代付可以看出来吗 编辑:程序博客网 时间:2024/05/16 08:26

一、getchar 是以行为单位进行存取的。

二、EOF的返回值是-1.(windowsxp)

EOF作为文件结束符的3种情况:

(1)getchar()函数执行时,遇到第一次输入ctrl+z,则跳出getchar函数。

(2)ctrl+z前面输入的字符时换行符时

(3)前面有字符输入但不是换行符时,需两次输入ctrl+z,第二次才是文件结束符的作用。

这三种情况可以用一句话概括,当getchar()提示新一次输入时,直接输入ctrl+z才起到文件结束符的作用。

其中第三种情况里的第一次输入作用如下:

行结束符,它不能结束getchar(),只能引发getchar()提示下一轮的输入。

EOF不是一个字符,在C语言里,它是标准库中定义的一个宏,被定义成一个Int型的负数(如-1)。