三目运算符 " ?:"
" ? :" 是C++里唯一一个三元运算符。其表达式格式为:<表达式1> ? <表达式2> : <表达式3>;
执行步骤:
(1) 计算表达式1的值;
(2) 若表达式1的值为真(或非0),则只计算表达式2,将其结果作为整个表达式的值;
若表达式1的值为假(或为0),则只计算表达式3,将其结果作为整个表达式的值。
例,x=a>b?a:b; 先计算a>b是否为真, 若真,x=a,反之,x=b
#include <stdio.h>
#include <iostream>
using namespace std;
int main()
{
int a=0, b=3, c=2;
a = b > c ? b : c; //b大于c,所以a=b=3
cout << "a=" << a << endl;
system("pause");
}
反之,
#include <stdio.h>
#include <iostream>
using namespace std;
int main()
{
int a=0, b=1, c=2;
a = b > c ? b : c; //b小于c,所以a=c=2
cout << "a=" << a << endl;
system("pause");
}