?:是C语言中的三目运算符,可以用来替代 if—else 语句。
?:的使用方法为:
<表达式1>?<表达式2>:<表达式3>
它是对第一个表达式作真/假检测,然后根据结果返回另外两个表达式中的一个。在运算中,首先对第一个表达式进行检验,如果为真,则返回表达式2的值;如果为假,则返回表达式3的值。
例如,如下所示的if—else语句
if(condition)
{
var = X;
}
else
{
var = Y;
}
转换成使用三目运算符?:为
var = (condition) ? X : Y;
单片机编程中例子:#define LED1_Toggle (GPIO_ReadOutputDataBit(LED1_PORT,LED1_PIN))?(GPIO_ResetBits(LED1_PORT,LED1_PIN)):(GPIO_SetBits(LED1_PORT,LED1_PIN))