我正在学习套接字编程,并且我对 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 语句的结果?