C/C++三目运算符(?:)的用法

简介:

C/C++ 三目运算符是一种条件运算符,也被称为“三元运算符”或“条件运算符”。它的语法结构为 condition ? true_expression : false_expression,表示如果 condition 为真,则执行 true_expression,否则执行 false_expression。

三目运算符的常见应用场景:

1.条件赋值:

三目运算符经常用于条件赋值的场景。例如下方的判断奇偶性程序:

int main() {
	int a = 6;
	string msg = (a % 2 == 0 ? "Even" : "Odd");
	cout << a << "is" << msg << endl;
	return 0;
}

2.简化条件语句:

三目运算符可以简化条件语句:可以用它替代if....else语句

int main() {
	int a = 6;
	string msg = (a>=0?"Positive":"Negative");
	cout << a << "is" << msg << endl;
	return 0;
}

3.多级条件

以下就是运用三目运算符的嵌套,进行将分数转化为对应等级

#include <iostream>
 
int main() {
  int score = 80;
  char grade = (score >= 90 ? 'A' : (score >= 80 ? 'B' : (score >= 70 ? 'C' : (score >= 60 ? 'D' : 'F'))));
  std::cout << "Grade: " << grade << std::endl;
  
  return 0;
}

三目运算符和其它语句进行比较:

可读性差,虽然能带来简洁性,但在一些复杂的条件语句中,if...else语句的可读性和可维护性较高

三目运算符会使代码复杂度增加

三目运算符可能会导致代码的性能下降,当运算符的条件表达式较为复杂的时候,使用三目运算符可能会导致CPU缓存命中率降低,从而影响程序的性能

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值