1

これには小さな問題があります:

{
  printf ("abc");
  execl("./prog","prog",NULL);
}

すべて正常に動作しますが、なぜexecl前に実行されるのprintfですか? 誰かが私を助けることができますか?

4

1 に答える 1

6

printf実際には が最初に実行されますが、出力はバッファリングされます 。

\n文字列の末尾に改行 () を追加するか、次のように呼び出して、バッファをフラッシュできますfflush(stdout)

 printf("abc\n");

または:

printf("abc");
fflush(stdout);
于 2016-05-28T15:40:35.287 に答える