i++和++i分析(详细的例子加以说明)

i++表示先在表达式中使用i,之后再将i自增,即i = i + 1。

++i表示先将i的值加1,再在表达式中使用i。

举几个例子:

①求 i += i++; 

#include<iostream>
using namespace std;

void main()
{
    int i = 4;
    i += i++;
    cout<<"i = "<<i<<end;
}

分析:

i  += i++相当于i = i + i++;

这里是后置++,因此咱先将i的值拿来用,即i = i + i = 8,但是i还要自增,则i = 8 + 1 =9.

 

②求 i += ++i;

#include<iostream>
using namespace std;

void main()
{
    int i = 4;
    i += ++i;
    cout<<"i = "<<i<<end;
}

分析:

这里是后置++,因此在计算之前,先将i的值自增1,即i = i + 1 =  5; 

i  += ++i 相当于i = i +++i,由于我们自增过了,即i = i + i = 5 + 5 = 10.

 

③求++i += ++i;

#include<iostream>
using namespace std;

void main()
{
    int i = 4;
    ++i += ++i;
    cout<<"i = "<<i<<end;
}

分析:

++i += ++i相当于++i = (++i) + (++i);

由于右边表达式中有两个后++,则计算表达式之前,i = 4 + 1 + 1 = 6;

则原式 = i + i = 6 + 6 = 12.

 

若有理解有误的地方,欢迎大家指出,(*^__^*) 嘻嘻

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值