这是一个基本问题..但不得不问。对于这样的程序,如果用例是 123^Z,则程序不会终止,即使我在末尾放置了 EOF (Ctrl+Z)。为什么呢?只有当我在 CR 之后放置 EOF 时它才会起作用。任何答案将不胜感激。谢谢。
#include < stdio.h>
void main()
{
int i, nc;
nc = 0;
i = getchar();
while (i != EOF) {
nc = nc + 1;
i = getchar();
}
printf("Number of characters in file = %d\n", nc);
}