-4

if(fork()=0)とはどう違いif(fork()==0)ますか?
0 を返す場合は子ですが、==0 の場合はどうでしょうか。

4

5 に答える 5

8

=は代入演算子で==あり、等値比較演算子です。を使用すると、コンパイルの警告またはエラーが発生するはずですfork() = 0

于 2012-12-11T21:09:37.540 に答える
3

最初のケースでは、ifは入力されません。2 番目には、現在実行中のコードifの結果がfork「子」プロセスにある場合に入力されます。

于 2012-12-11T21:08:42.717 に答える
2
fork() = 0

割り当てです

fork() == 0

等しいかどうかのテスト

于 2012-12-11T21:09:20.753 に答える
1

=変数に値を代入し、==等しいかどうかをチェックします。

于 2012-12-11T21:09:05.590 に答える
0

最初のケースでは、if(fork()=0) は割り当てであり、常に true です。この条件が false になることはありません。
一方、if(fork()==0) は、fork() の値が 0 に等しいかどうかの条件をチェックします。

于 2012-12-12T08:21:55.217 に答える