次のように、入力の文字を受け入れてその文字を出力するプログラムを作成しました
int ch = getchar();
printf("%c", ch);
期待どおりに機能しました。それから、歓迎して最初に印刷することにしましたHello
。
printf("Hello!\n");
int ch = getchar();
printf("%c", ch);
驚いたことに、これによりコンパイラは 2 つのエラーをスローしました。
エラー C2065: 'ch': 宣言されていない識別子
エラー C2143: 構文エラー: ';' がありません 「タイプ」の前に
最初の行を追加すると、なぜそれが起こるのかわかりませんでした。とにかく、プログラムをリファクタリングして宣言を取り除くint
と、エラーは魔法のように消えました。
printf("Hello!\n");
printf("%c", getchar());
どうしたの?これらのエラーが表示されてから消える魔法は何ですか?