#include<iostream>
#include<unistd.h>
#include<stdio.h>
using namespace std;
int main()
{
fork();
fork();
fork();
fork();
printf("*"); /*This prints 16 stars*/
return 0;
}
Run Code Online (Sandbox Code Playgroud)
在使用时fork(),为什么打印16*?
据我所知,fork()生成一个新的子进程,它们都执行相同的进程,这可以解释为什么一个fork生成2个星,但是,有四个forks它打印16个,我可以看到它每个都加倍fork().
但我不明白为什么.每个fork是否执行下面的函数和参数?