-
問號(?)操作符是條件語句的簡寫形式,這是一個三元操作符、
(condition)?value1:value2
如果condition爲真,那麼取value1值,如果condition爲假,那麼取value2值
-
舉例1(將任意的條件語句轉換到?的形式)
int m = 3; int n = 6; string s; /* s = (m < n) ? "Hellow" : "World"; */ if (m < n) { s = "Hello"; } else { s = "World"; } cout << "s = " << s << endl;
-
舉例2
int m = 3; int n = 6; string s; /* if (m == n) { s = "m == n"; } else if (m < n) { s = "m < n"; } else { s = "m > n"; } cout << s << endl; */ s = (m == n) ? "m == n" : (m < n) ? "m < n" : "m > n"; cout << s << endl;
-
舉例3
int m = 3; int n = 6; string s; /* if (m < n) { if (m == 3) { s = "m<n&&m==3"; } else { s = "m<n&&m!=3"; } } else { s = "m>=n"; } cout << s << endl; */ s = (m < n) ? (m == 3) ? "m<n&&m==3" : "m<n&&m!=3" : "m>=n"; cout << s << endl;
-
注意:
在問號操作符中,value1或者value2語句中不可以定義變量,會報錯int i = 1; s = (m < n) ? (m == 3) ? (cout<<i<<endl,"m<n&&m==3" ): "m<n&&m!=3" : "m>=n"; cout << s << endl;
一般把變量定義放在外面。
5-4. 問號(?)操作符
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.