关于自增运算符?

发布时间:2024-06-02 16:52 发布:上海旅游网

问题描述:

如例:

int i=10;
cout<< ++i + i++ <<endl;

结果为22,我认为结果为应为21,不甚明白,
我的理解,前面++i,先i自增1,其值变为11,再参与运算,
后面i++,i先参与运算,故为10,再自增参与下一次的运算,
所以结果为:21

我将i的初始化值改为1,其结果为4,
也就是说在进行加法(+)运算之前i都自增了,不理解!!

问题解答:

第一步
++i;返回值为11(因为i值为10,++前置,i加了1后为11,并返回11),执行完后i 值为11
第二步
i++;返回值为11(因为i值为11,++后置,先返回i的值11,然后i加1),执行完后i 值为12
把两个返回值相加得22

bnvbnvbnvbn

热点新闻