<分区>
如果我正在写这个怎么办? 我执行了两个 printf 语句!!
#include<stdio.h>
#include<stdlib.h>
int main(void){
if(fork())
printf("entering IF");
else
printf("entering ELSE");
return 0;
}
标签 c
<分区>
如果我正在写这个怎么办? 我执行了两个 printf 语句!!
#include<stdio.h>
#include<stdlib.h>
int main(void){
if(fork())
printf("entering IF");
else
printf("entering ELSE");
return 0;
}
最佳答案
你到底在问什么?
fork()
复制调用进程,在父进程中返回子进程的 PID,在子进程中返回 0。
在 C 中,if
将任何非零值计算为真,这意味着 进入 IF
将从父线程打印,而 进入 ELSE
来自子线程。
请注意,它们的打印顺序是不确定的,因此您可能会看到在 输入 IF
之前输入了 ELSE
。
参见:man(2) fork
关于c - 使用c在linux中进行fork系统调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48636834/