【C++】学习笔记二十四——?:运算符

条件运算符(?:)

  条件运算符(?:)常被用来代替if else语句,它是C++唯一一个需要3个操作数的运算符。该运算符的通用格式如下:

expression1 ? expression2 : expression3 

  如果expression1为true,则整个表达式的值为expression2的值;否则,整个表达式的值为expression3的值。
 
  下面两个示例演示了该运算符是如何工作的:

5>3 ? 10 : 12           //5>3为true,所以表达式的值为10
3 == 9 ? 25: 18         //3 == 9为假,所以表达式的值为18 

 
 
程序6.9

#include<iostream>
int main()
{
    using namespace std;
    int a, b;
    cout << "Enter two integers: ";
    cin >> a >> b;
    cout << "The lager of " << a << " and " << b;
    int c = a > b ? a : b;
    cout << " is " << c << endl;
    system("pause");
    return 0;
}

这里写图片描述
 
 
  与if else语句相比,条件运算符更简洁。这两种方法之间的区别是:条件运算符生成一个表达式,因此是一个值,可以将其赋给变量或将其放大一个更大的表达式中。
  
  一个技巧是将条件表达式嵌套在另一个条件表达式中:

const char x[2][20] = {"Jason ","at your service\n"};
const char * y = "Quillstone ";

for (int i = 0; i < 3; i++)
    cout<<((i < 2) ? !i ? x[i] : y :x[1]);

这是一种费解的方式,他按下面的顺序打印3个字符串:

Jason Quillstone at your service
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值