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

来源:互联网 发布:淘宝收货时间延长 编辑:程序博客网 时间:2024/06/08 11:44

条件表达式  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);加一对括号,此括号作用很大啊!


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

0 0
原创粉丝点击