首页 > 试题广场 >

设a, b, c为int型变量, 以下赋值表达式错误的是(&

[单选题]
设a, b, c为int型变量, 以下赋值表达式错误的是(  )。
  • a = b = c * 0
  • a = 1 % (b = c == 2) + 3
  • a = 1 = (b = 1) = 1
  • D) a = (b = 0) * (c + 0)
表达式必须是可修改的左值,在1 = (b = 1 ) = 1中 ,1 不是一个可修改的左值。
编辑于 2021-09-17 23:18:46 回复(0)
 
本题考场的是运算符的优先级的问题.参考资料为C++Primer的P148页
  • a = 1 = (b = 1) = 1
(b=1)=1就相当于先把1赋值给B然后再把1赋值给B
换个例子会比较清楚
  (b = 1) = 5;
    cout << b;
输出的会是5.
然后1=5这明显是不对的
发表于 2021-04-17 13:56:09 回复(0)