我对有关!!运算符的某些C ++代码有问题。它给了我意外的结果,我不明白为什么:
int x=-12;
x=!!x;
print("value=",x);
Run Code Online (Sandbox Code Playgroud)
此输出为1。但是我不知道怎么做。谁能解释这个模棱两可的结果?
!!x分组为!(!x)。
!x如果x非零,则为0;如果为零,则为1 x。
将其应用于!结果相反。
因此,!!x可以将其视为设置x为1(如果不为零)和保持为0(如果为零)的一种方式。换句话说x = !!x与相同x = x ? 1 : 0。
| 归档时间: |
|
| 查看次数: |
59 次 |
| 最近记录: |