我试图理解以下代码,但我之前从未见过的是:" \&\&
"
这是代码:
int main() {
fork() \&\& (fork() || fork());
exit(EXIT_SUCCESS);}
代码有什么作用?
答案 0 :(得分:0)
如果您的老师写fork() && (fork() || fork());
:
fork()
如果您是父母,则创建新流程并返回pid_t
新流程;如果您是孩子,则返回0
;如果是错误,则-1
有很多可能性,我会忽略fork()
可能return
错误。
主要流程调用fork()
以及孩子的return
0
,这会停止逻辑&&
,即第一个孩子return
。父级具有正值,因此它调用第二个fork()
。这是||
,所以父母在这里和return
停止。第二个孩子拨打下一个fork()
,然后拨打return
。第三个孩子return
也是因为他们不再需要指导。