时间在哪里853 2022-11-16 11:22 采纳率: 82.4%
浏览 23
已结题

设有定义int a=5,b;,赋值使b为9的语句是

A.b=++a+4
B.b=(a++)+3
C.b=8+!(a==5)
D.b=(a++==6)?8:9
为什么选D,求解析

  • 写回答

1条回答 默认 最新

  • hello_world&& 2022-11-16 13:26
    关注

    b=(a++==6) ? 8: 9;
    执行该语句的语义是:如a++==6为真,则把8赋予b,否则把9赋予b,而a++是要先进行判断之后才会将自身的值加1,所以在判断时a依然是等于5,表达式不成立,把9赋给b。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月25日
  • 已采纳回答 11月17日
  • 创建了问题 11月16日