condition ? expr1 : expr2
这里,如果 condition
为真(即非零),表达式的结果是 expr1
,否则是 expr2
。
假设您有一个程序,需要根据用户的年龄决定他们是否成年。您可以使用三元运算符来简洁地实现这一点:
#include <iostream>
int main() {
int age = 20;
std::string result = age >= 18 ? "Adult" : "Minor";
std::cout << "You are a " << result << std::endl;
return 0;
}
在这个例子中,如果 age >= 18
为真,result
将被赋值为 "Adult"
;否则,将被赋值为 "Minor"
。
考虑一个程序,根据分数给出等级:
#include <iostream>
int main() {
int score = 85;
std::string grade = score >= 90 ? "A" :
score >= 80 ? "B" :
score >= 70 ? "C" : "D";
std::cout << "Your grade is " << grade << std::endl;
return 0;
}
在这个例子中,使用了嵌套的三元运算符来选择适当的等级。如果 score
大于等于 90,grade
为 "A"
,如果 score
大于等于 80 但小于 90,grade
为 "B"
,以此类推。
if-else
语句可能更清晰易懂。