首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

(i++)*(i++)与(++i)*(++i)的区别解决方法

2012-04-02 
(i++)*(i++)与(++i)*(++i)的区别i 3(i++)*(i++)应该等于9可是i 3(++i)*(++i)就等于25这是为什么?我

(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

等到接分啊

热点排行