私はこのコードをテストしました:
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 }
質問:
文字列を入力してから「Enter」を入力すると、次のような結果が得られました。
asdf
a97 s115 d100 f102
文字行のすぐ後ろに EOF(ctrl+d) を追加すると、次のように、入力のすぐ後ろに結果が得られました。
asdfa97 s115 d100 f102
私の質問は、「入力」がコードの実行をトリガーしたかどうかです。EOF を入力したときに、結果を出力するために 'enter' が必要でなかったのはなぜですか? 実行を終了するために別の EOF が必要だったのはなぜですか?
どうもありがとう。