Linux下的C编程问题,非常初级,请求解答.
#include<stdio.h>
main()
{
int p1,p2;
while((p1=fork())==-1);
if(p1==0)
printf("child1\n");
else
{
while((p2=fork())==-1);
if(p2==0)
printf("child2\n");
else
printf("parent\n");
}
}
运行几次后会出现几种不同的结果:
child1 child1 child2
child2 parent child1
parent child2 parent
为什么会这样,还有几种不同的结果?出现这种情况如何解释

