-2
出力は何ですか?私は混乱しています、それは2または3ですが、どちらが私には分かりません。手伝ってくれますか?子プロセスは両方のプリントを実行しますか?
main()
{
printf("hello\n");
if(fork() == 0)
printf("hello\n");
}
出力は何ですか?私は混乱しています、それは2または3ですが、どちらが私には分かりません。手伝ってくれますか?子プロセスは両方のプリントを実行しますか?
main()
{
printf("hello\n");
if(fork() == 0)
printf("hello\n");
}
if
文はつもり、この時点で1 hello
が存在することになるように、各プロセスは、親のために子プロセスのためにゼロであり、非ゼロ(PID)それ自身の戻り値でそれを実行しますので、フォーク後に評価されます。
プラスコードの最初にhello
を追加すると、合計で2 hello
が端末に表示されます。
あなたは何を見つけましたか? 'cat'を通して出力をパイプするか、ファイルにリダイレクトするとどうなりますか? –
なぜ人々はコードをカットしてSOの質問に貼り付けますが、選択したエディタには貼り付けないで、&* ^%$ものをコンパイルして確実な答えを得ます! – John3136
彼の関心事は「なぜ」コードがそうであるかのように振る舞いますが、彼は大歓迎です。 – Xaqron