我想知道以下代码输出背后的原因:
#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平台上运行