c语言的fork
先看代码,会输出多少行
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
int main()
{
for(int i=0;i<3;i++){
fork();
printf("%d\n",i);
}
sleep(1);
return 0;
}
首先,以上代码会输出2个0,4个1,8个2,顺序可能不一样
如果把printf中的\n去掉,结果就不一样了,缓冲会被子进程继承,