条件运算符是C++中唯一一个三元运算符,要求有三个操作对象,条件表达式的一般形式为:
表达式1?表达式2:表达式3
条件运算符的执行顺序是,先求解表达式1,若为真则求解表达式2,此时表达式2的值作为整个条件表达式的值。若表达式1的值为假,则求解表达式3,表达式3的值为整个条件表达式的值。
max = (a>b) ? a : b
a比b大时,关系表达式为真,条件表达式的值为a;b比a大时,关系表达式为假,条件表达式的值为b。
要注意的是,条件运算符的优先级是大于赋值运算符的,所以并不是关系表达式的结果赋值给bool型的max变量后执行条件表达式。而是先执行条件表达式,最后把表达式的值赋值给max变量
测试实例:
#include <iostream>
using namespace std;
int main()
{
char ch;
cin>>ch;
ch = (ch>='A'&&ch <= 'Z')?(ch+32):ch;
cout <<ch <<endl;
getchar();
getchar();
return 0 ;
}
如果是大写字母,就转化为小写,如果是小写字母,结果不变。