白白与瓜 2021-05-08 10:02 采纳率: 100%
浏览 365
已结题

C++ “(a++,b>a++&&c>d)?++d:a<b”的值为0

已知a=4,b=6,c=8,d=9,则“(a++,b>a++&&c>d)?++d:a<b”的值为0

为什么呢?求详细解答。谢谢。

括号里的,是什么意思呢

  • 写回答

3条回答 默认 最新

  • 小兔子编程 少儿编程领域优质作者 2021-05-08 10:09
    关注

    开始前:a=4,b=6,c=8,d=9

    表达式:(a++,b>a++&&c>d)?++d:a<b

    1、先计算a++  得出a=5

    2、在判断 b>a++   先计算b>a 此时 a=5,b=6 所以条件不成立 返回假,同时a++ a=6

    3、判断c>d, c=8,d=9, 所以条件不成立 返回假

    4、在计算2和3返回结果的逻辑与运算  b>a++&&c>d  两边都为假,所以返回条件假

    5、表达式A?B:C  A为真执行B语句,为假执行C语句

    6、结合4.5 所以表达式执行 a<b   而a=6 b=6;不成立,所以返回假 对应数字就是0

     

    这样不知道您看懂了吗,希望对您有帮助,码子不容易,还望采纳

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月11日