(i++)*(i++)与(++i)*(++i)的区别
i = 3;
(i++)*(i++)应该等于9
可是
i = 3;
(++i)*(++i)就等于25
这是为什么?
我知道i++和++i的区别,但是(i++)*(i++)我觉得一个是3,可另一个应该是4呀,应该是12
而(++i)*(++i)应该一个是4一个是5,等于20呀。为什么两个都更新成5了。
[解决办法]
1.(++i)*(++i).对于算术运算符"*",先提取左右的值,因此在本文中,它在乘法之前要先用到i,对于乘号左右的i在用到之前都要加1,总共是加2为5,然后将加2后的值保存在i中,再做乘法,所以运算结果为25,i的值为8。
2.(i++)*(i++)是做完乘法后将i的值自加两次,所以运算结果为9,i的值也为5
等到接分啊