return 0 与exit(0)

来源:互联网 发布:windows7查看443端口 编辑:程序博客网 时间:2024/04/17 00:08
  1. #include "apue.h"
  2. int fun()
  3. {
  4.   int pid;
  5.   if((pid=fork())<0)
  6.     printf("error\n");
  7.   else if(pid==0)
  8.     {
  9.     printf("child..........1\n");
  10.     //return 0;
  11.     exit(0);
  12.     }
  13.    else
  14.     {
  15.     printf("parent..........1\n");
  16.     return pid;
  17.     }
  18. }
  19. int
  20. main(void)
  21. {
  22.   int pid;
  23.   pid=fun();
  24.   if(pid==0)
  25.    {
  26.     printf("child.......2\n");
  27.     exit(0);
  28.     } 
  29.   else
  30.    {
  31.     printf("parent..........2\n");
  32.     exit(2);
  33.    }
  34. }
我们知道当return 0和exit(0)用在主函数时候是相通的,多宝但在分主函数中却是不能代替的。
看下面一段程序。当子函数调用return 0的时候,只是函数返回,子进程并没有结束,当子函数调用exit(0)
时,子进程结束。
运行结果:转载请尊重原创、保留相关链接本文来自多宝平台http://www.mbodb.com

return 0

exit(0)
0 0