Arduino - 条件运算符 ? :
条件运算符 ? : 是 C 中唯一的三元运算符。
? : 条件运算符语法
表达式 1 ? 表达式 2 : 表达式 3
首先对表达式 1 求值。如果其值为真,则对表达式 2 求值并忽略表达式 3。如果表达式 1 求值为假,则对表达式 3 求值并忽略表达式 2。结果将是表达式 2 或表达式 3 的值,具体取决于它们中哪个求值为真。
条件运算符从右到左关联。
示例
/* 查找 max(a, b): */ max = ( a > b ) ? a : b; /* 将小写字母转换为大写字母:*/ /*(实际上不需要括号)*/ c = ( c >= 'a' && c <= 'z' ) ? ( c - 32 ) : c;
条件运算符的规则
- 表达式 1 必须是标量表达式;表达式 2 和表达式 3 必须遵循以下规则之一。
- 两个表达式都必须是算术类型。
- 表达式 2 和表达式 3 经过通常的算术转换,从而确定结果类型。
- >两个表达式都必须是 void 类型。结果类型为 void。
arduino_control_statements.html