【问题标题】:Using EOF and getchar() for character counting in C [duplicate]在 C 中使用 EOF 和 getchar() 进行字符计数 [重复]
【发布时间】:2012-06-05 15:18:19
【问题描述】:

可能重复:
Why doesn't getchar() recognise return as EOF in windows console?

我是 C 新手,想弄清楚 EOF 和 getChar() 是如何工作的。

#include <stdio.h>

main()
{

int number = 0;
while(getchar() != EOF)
     number++;

printf("%d", number);
}

当我输入一些随机字符时,程序什么也不做,我认为它永远不会退出那个 while 循环。这是为什么?我在 Windows 7 上使用 CodeBlocks。

【问题讨论】:

  • EOF 是文件结束的标记。键入 CTRL+Z 或更改条件以在键盘上输入字符退出循环。
  • 因为 EOF 不能用键盘输入。 :)

标签: c windows eof getchar


【解决方案1】:

因为您没有发送EOF 字符。 “EOF”代表“文件结束”;控制台输入(称为“标准输入”)是文件的一种特殊情况。但是为了表示这个特殊的文件已经结束,你需要发送一个特殊的信号。在 Windows 上,您可以通过按 Ctrl+Z(出于某种原因,然后按 Enter)来获得此效果。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-10-24
    • 2022-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-05
    • 1970-01-01
    相关资源
    最近更新 更多