我在C下面有一些使用fork()系统调用的代码,但我很困惑:如何
解决它的问题:
int main()
{
fork();
fork() || fork() && fork();
fork();
printf("ämit");
}
Run Code Online (Sandbox Code Playgroud)
fork() && fork() || fork(); 评估如下所示:
fork()
/ \
0/ \>0
|| fork() && fork()
/\ / \
/ \ 0/ \>0
* * || fork() *
/ \
* *
Run Code Online (Sandbox Code Playgroud)
我需要同样的树fork() || fork() && fork().任何人都可以告诉我应该如何实现它?
如果这是一个面试问题(可能)或作业(可能性略低),你先冷静地解释你如何能进行评估.
我的意思是,你说第一,第二和第五个叉子是无条件的,但第三个和第四个叉子取决于第二个和第三个(并且这些第二个和第三个将在多个过程中发生).
这将表明您理解这些概念.
然后你解释它并不重要,因为如果有任何编码器实际上交给你这样的代码,那么就会有一些严重的tar'n'feather动作正在进行中.像这种怪物的代码在现实世界中没有地位,虽然它有助于测试你的理解,但你永远不会在现实中遇到它.