-
问号(?)操作符是条件语句的简写形式,这是一个三元操作符、
(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. 问号(?)操作符
猜你喜欢
转载自blog.csdn.net/qq_43367829/article/details/105423037
今日推荐
周排行