问答详情
源自:3-4 练习题

不太明白结果

当时看到这题的时候我首先就想到了运算符优先级的关系,++运算符的级别相对于其他的不是最高吗?那么a++后就是4呀,然后b%a=0,a/b=1,a*b=16,按我的理解结果应该是4+0-1+16-3=16,当然光看选项就是错的,当时按答案的理解就是前面的都是按a=3算的,写了个程序测试了下结果真的是12,但是我就是不太明白为嘛优先级(++)没起作用

提问者:林小米LOVE编程 2015-05-16 13:44

个回答

  • bennywang
    2015-05-16 14:06:52

    不知你是否知道++有两种用法,a++和++a,他们的区别是a++的返回值是原来的a,++a的返回值是+1后的a,所以a++虽然变成4了,但是返回的依然是3