1
我正在学习套接字编程,我很了解c编程。例如,根据我的c编程知识,一旦处理了else语句内的某些内容,就不会执行相应if语句中的代码。例如,为什么if和else语句在单次运行时执行?
int a = 1;
if(a == 1) process1 ;
else process2;
基于上面的说法,一个等于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
声明如下所示?