是 C 中布尔运算 1 或 0 的结果

  • 本文关键字:结果 布尔运算 c boolean
  • 更新时间 :
  • 英文 :


布尔运算的结果是否保证为 1 或 0?

我正在对微控制器进行编程,需要将引脚设置为 1 或 0,并且想知道是否可以从中缩短代码:

isRunning = isStarted && !isSleeping;
_PBH0 = isRunning ? 1 : 0;

对此:

isRunning = isStarted && !isSleeping;
_PBH0 = isRunning;
是的

&&运算符(或任何逻辑运算符)的结果是值为 10int

C11 §6.5.13 逻辑 AND 运算符

如果&&运算符的两个操作数都比较不等于0,则1;否则,它产生0。结果的类型为 int

事实上,你可以减少到_PHB0 = (isStarted && !isSleeping);

最新更新