如何在终端中输入EOF的值

我有一个C程序。

void main () { int c=1; if (getchar()!=EOF) printf("%d",c); else printf("%"); } 

我应该在终端上输入什么来产生EOF?

不确定你对c变量的意思,它的值永远不会改变所以它似乎毫无意义。

在Windows中, Control + Z是典型的键盘快捷键,意思是“文件结束”,在Linux和Unix中它通常是Control + D.

  1. 由于某种原因,EOF被包装在宏中 – 您永远不需要知道该值。
  2. 从命令行,当您运行程序时,您可以使用CtrlD (Unix)或CTRLZ (Microsoft)将EOF发送到程序。
  3. 要确定您的平台上EOF的价值,您可以随时打印它:

     printf ("%i\n", EOF); 

您可以使用以下方法模拟EOF:

  • Windows: ctrl + Z.
  • Unix: ctrl + D.

到目前为止,在任何其他答案中都没有提到,但您可能需要按右键组合(^ D或^ Z)2或3次才能实际发出EOF信号; 看这里解释。