【发布时间】:2020-09-20 08:18:13
【问题描述】:
#include <stdio.h>
int main()
{
int a = 60; // 0011 1100
int b = 13; // 0000 1101
int c = 0;
c = a || b;
printf("%d",c);
return 0;
}
我的代码的输出是 1。谁能解释它是如何工作的?
【问题讨论】:
-
||运算符是“逻辑或”运算符,而不是“位或”运算符;对于“按位或”,请改用|。另外,不要忘记在输出末尾添加换行符;它使阅读更容易,如果您正在调试序列,以后会很重要。如果没有换行符,输出可能不会按预期出现,从而误导您程序崩溃的位置。
标签: c bitwise-operators binary-operators bitwise-or logical-or