这个函数是Unix创建进程的函数,具体可百度(返回值-1会不成功),pid每次都会变化
1.首先,
明确几点:第一,如果没有 if(pid=fork()); break;for循环会执行3次;第二,fork()函数会返回两个值,一个大于0的值(子进程的进程号),一个是0;第三,break跳出循环的话,一次都不会做;
2.解释流程实质:if中条件判断的时候,fork函数返回的两个值有一个是永远不成立的,所以:fork每次执行时,父进程的pid>0,跳出循环(不生孩子了),而子进程的pid=0,成为下一次循环的父进程(继续生孩子);