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

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

#include<stdio.h>                                                                                                                               
#include<sys/types.h>                                                           
#include<unistd.h>                                                             
                                                                               
                                                                               
//一共输出多少个'-'                                                             
                                                                               
int main()                                                                     
{                                                                               
  int i;                                                                       
  for(i=0;i<2;i++)                                                             
  {                                                                             
    fork();                                                                     
    printf("-\n");                                                             
  }                                                                             
  return 0;                                                                     
}

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

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

显而易见的6次

贴出结果

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

那么接下来来个升级版的

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

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

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

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/f0bcdd20ffb797e7400b98b3c2938170.html