#include
int main()
{
if(fork()==0){
printf("a");
}
else{
printf("b");
waitpid(-1,NULL,0);
}
printf("c");
exit(0);
求问这个程序的可能输出序列?
答案给出了acbc,bcac,abcc,bacc四种答案。
但是我觉得不应该有四种,因为fork以后有两个进程,但是父进程会遇到waitpid,这个必须要等到子进程
终止以后,父进程才会继续下去,所以只有三种情况,一是父进程先开始,遇到waitpid等待,知道子进程结束,那么就是bacc,或者是子进程先开始,那么就有acbc,或者是abcc