次のコードで何か変わったことに気がつきました。LinuxのC言語でprintf()が "while(1)"ループより先に実行されない
int main()
{
printf("Test"); // Section 1 do something here....
while(1)
{
;
}
}
セクション1が最初に実行され、プログラムがwhileループでスタックする必要があります。 しかし、結果は "テスト"が印刷されなかったのですが、whileループにはまってしまいました。なぜセクション1のコードが実行されないのだろうか?
私はstdout
ストリームがバッファリングされている(デフォルトのGCCコンパイラでコンパイル)のUbuntu 14.04 LTS
'。 '\ n'を最後に追加してバッファリングされた出力をフラッシュします。それは、ループの前に 'fflush(stdout);を呼び出します。それでも印刷されない場合は、GCCが間違ったコードを生成した場合は再論するでしょう:) – StoryTeller
多くの重複があります。 – paddy
@paddy:最初の1つを選んでください。 – Olaf