条件表达式 x=<表达式1>?<表达式2>:<表达式3>

28 篇文章 0 订阅

条件表达式  x=<表达式1>?<表达式2>:<表达式3>

其意义是:先求解表达式1,若为非0(真),则求解表达式2,将表达式2的值赋给x。若为0(假),则求解表达式3,将表达式3的值赋给x。 

今天写程序用到条件表达式,自己是这样写的

int x = 5;

int y = 7;

x = x + (y==7)?1:0;


自己的想写的语句是:y==7的话,x自身加1;y!=7时,x自身加0.

那么到底x = x + (y==7)?1:0;是否正确呢?

答案是不正确。

那么分析x = x + (y==7)?1:0;    

  x=<表达式1>?<表达式2>:<表达式3>

 x + (y==7) 相当于表达式1

1 相当于表达式2

0相当于表达式3

所以 x恒等于1.

那么争取的写法如下:x = x +( (y==7)?1:0);加一对括号,此括号作用很大啊!


虽然知识点小,但是有必要记下,防止再次出错。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值