这是问题所在
int main() {
int pid = fork();
if (!pid) {
// condition 1
} else {
// condition 2
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
怎么(!pid)办?
md5*_*md5 10
它相当于:
if (!pid != 0) /* ... */
Run Code Online (Sandbox Code Playgroud)
然后:
if (pid == 0) /* ... */
Run Code Online (Sandbox Code Playgroud)
C11(n1570),第6.5.3.3节一元算术运算符
!如果其操作数的值不等于0,则逻辑否定运算符的结果为0;如果其操作数的值比较等于0则为1.结果具有类型int.表达式!E相当于(0==E).
if(!pid)
Run Code Online (Sandbox Code Playgroud)
正如你所写:
if(pid == 0) {
/* do something */
}
Run Code Online (Sandbox Code Playgroud)
进而:
if(pid)
Run Code Online (Sandbox Code Playgroud)
是
if(pid != 0)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
28447 次 |
| 最近记录: |