私はソケットプログラミングについて学んでおり、Cプログラミングについてよく知っています。
私のCプログラミングの知識に基づいて、elseステートメント内のプロセスが処理されると。if ステートメント内のプロセスは発生してはならず、強制終了されます。インスタンスについて、
int a = 1;
if(a == 1) process1 ;
else process2;
上記のステートメントに基づくと、a は 1 に等しいため、process1 を実行する必要があり、process2 は実行されません。それは正しいはずです、そう願っていました。
私の質問は次のコードです
int main(void){
pid_t pid;
int pp[2];
pipe(pp);
pid = fork();
if(pid == 0){
printf("Processed pid == 0\n");
}else{
printf("Processed pid != 0\n");
}
return 0;
}
そして、次の出力結果が得られました
Processed pid == 0
Processed pid != 0
私の質問は、ステートメント if および else の結果が表示されるのはなぜですか?