📜  C |运营商|问题26

📅  最后修改于: 2021-05-26 02:01:16             🧑  作者: Mango

#include 
int main()
{
   int y = 0;
   int x = (~y == 1);
   printf("%d", x);
   return 0;
}

(A) 0
(B) 1
(C)沼泽负数
(D)编译器错误答案: (A)
说明:这里要注意的重要一点是〜是按位而非运算符。所以〜0的值将是在二进制表示全1,这意味着〜0的十进制值不是1。因此比较运算符的结果变成0。
这个问题的测验

想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。