如果要求字符'a'在字符'b'和字符'c'之后输出,可如何实现?

#include
#include
#include
int main(void)

{

if(fork()==0)
{

printf("c\n");
printf("pid:%d ppid:%d\n",getpid(),getppid());
}
else
{

if(fork()==0)
{

printf("b\n");
printf("pid:%d ppid:%d\n",getpid(),getppid());
}
else
{
printf("a\n");
printf("pid:%d ppid:%d\n",getpid(),getppid());
}

}

}

//附上整理后的代码
#include
#include
#include
int main(void)
{
if(fork()==0){
printf("c\n");
printf("pid:%d ppid:%d\n",getpid(),getppid());
}else{
if(fork()==0)
{
printf("b\n");
printf("pid:%d ppid:%d\n",getpid(),getppid());
}else{
printf("a\n");
printf("pid:%d ppid:%d\n",getpid(),getppid());
}
}
}

如果输出c,则a,b不会输出;如果输出b,这种情况是不存在的;如果输出a,则b,c不会输出;
关键在于 if(表达式){代码1}else{代码2},只要符合条件,只会执行代码1,不会执行,代码2;
以上a,b,c只会输出一个,怎么会a在bc后面输出??
请把问题具体化,谢谢。