主题:关于linux进程控制的问题
#include <stdio.h>
main( )
{
int p1,p2,i;
while((p1=fork( ))= = -1); /*创建子进程p1*/
if (p1= =0)
for(i=0;i<10;i++)
printf("daughter %d\n",i);
else
{
while((p2=fork( ))= = -1); /*创建子进程p2*/
if(p2= =0)
for(i=0;i<10;i++)
printf("son %d\n",i);
else
for(i=0;i<10;i++)
printf("parent %d\n",i);
}
}
这段程序可能出现
parent,son,daugtrer三者交替出现的输出么
从语句上看不就是分支结构,满足哪个条件就执行对应的语句么?
难道for在运行中会被打断去执行其他语句?
main( )
{
int p1,p2,i;
while((p1=fork( ))= = -1); /*创建子进程p1*/
if (p1= =0)
for(i=0;i<10;i++)
printf("daughter %d\n",i);
else
{
while((p2=fork( ))= = -1); /*创建子进程p2*/
if(p2= =0)
for(i=0;i<10;i++)
printf("son %d\n",i);
else
for(i=0;i<10;i++)
printf("parent %d\n",i);
}
}
这段程序可能出现
parent,son,daugtrer三者交替出现的输出么
从语句上看不就是分支结构,满足哪个条件就执行对应的语句么?
难道for在运行中会被打断去执行其他语句?