为什么在这个程序中c为20

img


为什么c最后的值为20,为什么不把b++自增后的值赋给最后一个b

因为这个公式相当于 c = a*(b++) + b; ++的优先级高于 * 号。可不是 c= a * b + (++b)哦
所以先运行的是 c=a * b+b,然后再是b=b+1
c=a * b+b=3 * 5+5=20

表达式各项求值顺序,是没有规定的,很多编译器,都是从右往左