條件運算符是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 ;}如果是大寫字母,就轉化為小寫,如果是小寫字母,結果不變。
新聞熱點
疑難解答