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