我测试了这段代码:
1 #include <stdio.h>
2
3 main()
4 {
5 int c;
6
7 while ((c = getchar()) != EOF) {
8 putchar(c);
9 printf("%d ", c);
10 }
11 printf("%d\n", c);
12 }
问题:
当我输入一行字符,然后输入一个“回车”时,我得到了这样的结果:
asdf
a97 s115 d100 f102
当我直接在一行字符后面添加一个 EOF(ctrl+d) 时,我直接在输入后面得到了结果,例如:
asdfa97 s115 d100 f102
我的问题是“输入”是否触发了代码运行?为什么当我输入 EOF 时,不需要“输入”来输出结果?为什么我需要另一个 EOF 才能退出运行?
非常感谢。