条件运算符是C++中唯一一个三元运算符,要求有三个操作对象,条件表达式的一般形式为:
表达式1?表达式2:表达式3
条件运算符的执行顺序是,先求解表达式1,若为真则求解表达式2,此时表达式2的值作为整个条件表达式的值。若表达式1的值为假,则求解表达式3,表达式3的值为整个条件表达式的值。
max = (a>b) ? a : ba比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 ;}如果是大写字母,就转化为小写,如果是小写字母,结果不变。
新闻热点
疑难解答