我试图重复和学习更先进的用途和选择,在把树木与花在C丛林中的树冠混为一谈时,我发现一个非常容易的例子,因为我曾在一些法典之前甚至写过一些法典,但我可以完全理解。
这里是:
main() {
if (fork() == 0) {
if (fork() == 0) {
printf("3");
}
else if ((wait(NULL)) > 0) {
printf("2");
}
}
else {
if (fork() == 0) {
printf("1");
exit(0);
}
if (fork() == 0) {
printf("4");
}
}
printf("0");
return 0;
}
可能的解决办法是:
- 3201040
- 3104200
- 1040302
- 4321000
- 4030201
- 1403020
其中2、5和6个是正确的答案。
First of all, shouldn t there be four zeroes in the output? Second... How does one come to the solution at all? Been doing this on paper for almost an hour and I m not even close to understanding why the given solution are more correct than the false ones (except for nr3 as it can t end with 2 since a 0 must follow).
任何与他的 for子一起检查谁能提供一些很好的解释?
EDIT:
创立: 参看2009年版。 现在人们能否停止把这项工作作为家庭工作,并实际努力提供帮助? 如果没有,请找到其他专题来花费你的时间。 感谢!