为什么这个程序打印"分叉!"4次?
#include <stdio.h>
#include <unistd.h>
int main(void) {
fork() && (fork() || fork());
printf("forked!\n");
return 0;
}
Run Code Online (Sandbox Code Playgroud) 编程时,我通常会将两组条件组合在一起,例如:
if (A && B){...}
else if (!A && B){...}
else if (A && !B){...}
else if (!A && !B){...}
Run Code Online (Sandbox Code Playgroud)
它也可以使用嵌套的if语句来解决.
if (A){
if (B) {...}
else {...}
}
else {
if (B) {...}
else {...}
}
Run Code Online (Sandbox Code Playgroud)
编辑:一些新的想法,我首先评估A和B并存储为临时变量(然后作为第一种方法)如果A和B的评估都没有副作用?
所以我的问题是它们之间的性能差异以及它们的可读性如何?
如果重要的话我用C++编写代码.