确定EOF表达

时间:2015-03-30 11:20:38

标签: c eof getchar

我需要验证表达式getchar() ! = EOF0还是1。 我目前的代码:

#include <stdio.h>
int main (int argc, char *argv[])
{
    int c;
    while (( c= getchar()) != EOF) 
    {
        printf("%d ", c != EOF);
        putchar(c);
    }
    printf("\n%d\n", c != EOF);
}

当我尝试运行时,我得到了

98980980
1 91 81 91 81 01 91 81 01 

我不确定我是否做对了。

编辑:

好的问题实际上是“如何生成EOF” 解决方法是按ctrl + D.

1 个答案:

答案 0 :(得分:3)

我不确定你是否想要这个答案,但根据我的理解,你要找的是什么信息

  • 如果输入任何有效字符getchar() != EOF会产生1。
  • 如果按 CTRL + D (在linux上),或者 CTRL + Z (在Windows上) ,它将生成EOFgetchar() != EOF得到0。