为什么fork()会调用这个print语句?

时间:2017-11-06 19:10:39

标签: c fork

在这个C程序中,我得到的输出我无法理解。

#include <stdio.h>

int main()
{
    printf("Hello World\n");
    printf("%d\n", fork());
    return 0;
}

输出:

Hello World
5
Hello World
0

我的问题是,为什么要打印&#34; Hello World&#34;两次?从我的理解,它将打印&#34; Hello World&#34;然后调用fork()。

fork()是从程序的开头开始的吗?

1 个答案:

答案 0 :(得分:0)

如果您阅读手册页fork,则会向父级和子级返回一个值。并且它不是从程序开始就开始的。

请查看fork的手册页