?:
<表达式1>?<表达式2>:<表达式3>
先对表达式1做真假检测
若表达式1为真,则返回表达式2的值。
若表达式1为假,则返回表达式3的值。
例如用条件运算符?:比较A与B的大小:
#include <stdio.h>
#include <stdlib.h>
int main(){
int A,B,C;
printf("please set a number for 'A':");
scanf("%d", &A);
printf("please set a number for 'B':");
scanf("%d", &B);
if(A == B){
printf("A=B");
}else{
printf("The bigger number is:%d!\n", C=(A<B)?B:A);
}
return 0;
}
a=(b>0)?b:-b; 把b的绝对值赋值给a
条件运算符是C语言中唯一的一个三目运算符。