-
signo de interrogación (?) del operador es la abreviatura de sentencias condicionales, que es un operador ternario,
(condition)?value1:value2
Si la condición es verdadera, entonces tome valor valor1, si la condición es falsa, entonces tomar el valor valor2
-
Por ejemplo 1 (a sentencias condicionales arbitrarias convertidos a? Form)
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;
-
Ejemplo 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;
-
Por ejemplo 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;
-
Nota: El
signo de interrogación en el operador, o valor2 variables de los estados VALUE1 no se define, se daráint i = 1; s = (m < n) ? (m == 3) ? (cout<<i<<endl,"m<n&&m==3" ): "m<n&&m!=3" : "m>=n"; cout << s << endl;
Las variables generales se definen en el exterior.
5-4. El signo de interrogación (?) Del operador
Supongo que te gusta
Origin blog.csdn.net/qq_43367829/article/details/105423037
Recomendado
Clasificación