【发布时间】:2012-07-05 23:07:56
【问题描述】:
可能重复:
Working of fork() in linux gcc
Why does this code print two times?
我想知道下面代码输出背后的原因:
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
int main()
{
FILE *fp;
int n;
printf("%d",45);
//fflush(stdout);
if((n=fork())>0){
printf("in parent\n");
exit(0);
}
else if(n==0)
printf("%d",45);
}
输出是
45inparent
4545
如果我使用 fflush,那么 输出 是
45inparent
45
另外,我是在linux平台上运行的
【问题讨论】:
-
一篇类似的帖子,详细解释了 fork 调用:theunixshell.blogspot.in/2013/07/…