父子进程执行流(题目解析)

在牛客网上刷题的时候看见这么一道题

  1 #include<stdio.h>                                                                                                                                
  2 #include<sys/types.h>                                                            
  3 #include<unistd.h>                                                               
  4                                                                                  
  5                                                                                  
  6 //一共输出多少个'-'                                                              
  7                                                                                  
  8 int main()                                                                       
  9 {                                                                                
 10   int i;                                                                         
 11   for(i=0;i<2;i++)                                                               
 12   {                                                                              
 13     fork();                                                                      
 14     printf("-
");                                                               
 15   }                                                                              
 16   return 0;                                                                      
 17 }                                                                                

这很明显是对我对父子执行流的严峻考察,很好,我喜欢,然后我错了。。。腾讯实习生招聘的时候在线笔试题也有类似的题目,不过是把-换成可hello world而已,可见还是蛮重要的。这种题目只要画一下图很快就能理解了

显而易见的6次

贴出结果

那么接下来来个升级版的

执行结果还是6次,只不过根据if和else划分的代码块,执行的内容不同了而已

原文地址:https://www.cnblogs.com/lenomirei/p/5608814.html