inta=3;求表达式a=('m'>'-查字典问答网
分类选择

来自郭豪杰的问题

  inta=3;求表达式a=('m'>'n')?a+2:a-2,a+3,3*a的值之后,a的值是计算顺序

  inta=3;求表达式a=('m'>'n')?a+2:a-2,a+3,3*a的值之后,a的值是计算顺序

3回答
2020-05-04 16:01
我要回答
请先登录
江吉彬

  a=('m'>'n')?a+2:a-2,a+3,3*a

  等同于a=true?a+2:a-2;

  等同于a=a+2;a=5;

  ,的运算顺序是自左向右.

  a+3,3*a在这里没有意义.

2020-05-04 16:03:28
郭豪杰

  为什么a+3,3*a在这里没有意义

2020-05-04 16:05:25
江吉彬

  因为,运算符是自左向右运算,而,运算符的优先级最低,所以先计算a=('m'>'n')?a+2:a-2a+33*a三个算式,而a+3,3*a运算后没有赋给其它变量值,所以这种运算是没有用处的。我的答案也错了,'m'>'n'应该是false,'m'在'n'的前面,相减应该是-1。最终结果应该是1如果改成a=(('m'>'n')?a+2:a-2,a+3,3*a);那么就相当于a=3*a;这是因为用()包起来的多项表达式,用,分隔,取()中的最后一项为运算结果。

2020-05-04 16:06:08

最新问答

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  •