#include <stdio.h> main() {int p1,p2; while((p1=fork())==-1); if(p1==0) putchar('b'); else { while((p2=fork())==-1); if (p2==0) putchar('c'); else putchar('a'); } } 以上存档在tst.c文件中 编译该文件 cc tst.c 生成a.out可执行文件 多次运行./a.out 本应该因为并发执行进程的原因出现不同的输出结果:bca,bac,abc..... 但是,经过实践,只有一种结果:bca。 想请问,能不能全面分析一下这个简单的程序。 |