関数の使用を含め、このコードのさまざまなバリエーションを試しましたがscanf
、毎回 1 ポイントではなく 2 ポイントずつ増加します。コードは次のとおりです。
#include <stdio.h>
int main(void)
{
double nc;
for(nc = 0; getchar() != EOF; ++nc)
printf("%.0f\n", nc);
}
これは私が得る出力です。使用した入力は qwerty で、出力は予想どおり 0 ~ 5 ではなく、0 ~ 11 の数字です。
q
0
1
w
2
3
e
4
5
r
6
7
t
8
9
y
10
11
私が考えていたのは、Enter キーを押すと、入力getchar
した文字と一緒に値としてカウントされ、これによりループが 2 回繰り返されるということでした。誰かがこの概念をさらに説明したり、それに関する詳細情報へのリンクを提供したりできますか?