fork() 开始执行

Joh*_*nny 1 c unix fork

我对 UNIX 编程很陌生,遇到了一些我不明白的事情。这是以下代码片段:

#include <stdio.h>
#include <sys/types.h>

int main()
{
     printf("%d ", fork());
     return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出是:9298 0。为什么子进程这么称呼printf?在我的课程中,我被告知它会在fork()调用后执行所有操作。我做错了什么?

Som*_*ude 5

当子进程启动时,它会在fork调用的确切位置启动,即在调用的中间printf

所以现在父进程子进程都将完成自己单独的printf调用,每个进程都输出自己的返回值。