确定 EOF 表达式
Determining EOF expression
我需要验证表达式 getchar() ! = EOF
是 0
还是 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。
我不太确定你是否想要这个答案,但据我了解,你要查找的信息是
- 如果您输入任何 有效字符 ,
getchar() != EOF
会产生 1。
- 如果您按 CTRL+D(在 linux 上),或 CTRL+Z(在 windows 上),它将生成
EOF
并且 getchar() != EOF
产生 0.
我需要验证表达式 getchar() ! = EOF
是 0
还是 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。
我不太确定你是否想要这个答案,但据我了解,你要查找的信息是
- 如果您输入任何 有效字符 ,
getchar() != EOF
会产生 1。 - 如果您按 CTRL+D(在 linux 上),或 CTRL+Z(在 windows 上),它将生成
EOF
并且getchar() != EOF
产生 0.