尐傲先森~ 2021-12-23 12:53 采纳率: 62.5%
浏览 50
已结题

有关c语言复合赋值运算的问题

img

img


请问一下这里结果为啥等于66

  • 写回答

3条回答 默认 最新

  • 树下等苹果 2021-12-23 13:32
    关注

    (1)b<<2,意思是b转换为二进制,并左移两位。b=11=1011(二进制),左移两位=101100=44(十进制)。
    (2)b %= b<<2,等于b%44。即11%44=11。
    (3)b += b %= b << 2,等于b+=11=11+11=22。
    (4)a += b += b %= b << 2,等于a+=22->a=a+22=11+22=33。此时a=33
    (5)a += a += b += b %= b << 2,等于a+=33->a=a+33=33+33=66

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

报告相同问题?

问题事件

  • 系统已结题 1月3日
  • 已采纳回答 12月26日
  • 创建了问题 12月23日