【发布时间】:2021-06-08 02:15:16
【问题描述】:
#include <stdio.h>
int main() {
if (~0 == 1)
printf("yes\n");
else
printf("no\n");
}
为什么if 声明是错误的?谁能解释一下?
【问题讨论】:
-
试试
printf("%d\n", ~0);,亲自看看。 -
这是错误的,因为
~0不是1。您是否尝试了解~的实际作用? -
您混淆了
!和~运算符。试试if (!0 == 1) ...
标签: c bitwise-operators tilde