问题描述:
int i=1,a,b=2;
a=i++*b
运算的顺序不是i先*2,然后在+1吗 怎么=2的
问题解答:
是怎么=2的?
i=1
i++的表达式的值 是 1
1*2 的结果 是 2
所以a=2 这时的i 也是2
int i=1,a,b=2;
a=i++*b
等效于
int i=1,a,b=2;
a=i*b;
i++;
不是这么理解。
a=i++*b相当于:
a=i*b;
i=i+1;
先参加运算后加一,那个加一是在运算好后的。所以……先乘2赋给a后,他自己才加1。
结果是=2
等i*b运算结束后,i再自增1