区分i++和++i

这是笔者发地第一篇博客,问题很简单,大学读了几年,还总是容易搞混。

也不清楚到底有没有很好的区分方法,但我想每次遇到问题之后自己动手去调试才是最能够让自己记忆深刻的方法吧。

这里我只分了两种情况:

int res1, res2, a = 1;
printf("a=%d\n", a);
res1 = (a++) + 1;
printf("(a++)+1=%d\n", res1);
printf("a=%d\n", a);
res2 = (++a) + 1;
printf("(++a)+1=%d\n", res2);
printf("a=%d\n", a);

调试结果如下: 

 a=1
(a++)+1=2
a=2
(++a)+1=4
a=3

结论:i++和++i都有实现自增的功能,但i++在实现自增后并未拿来运算,即先运算再赋值,而++i则是先赋值,再自增。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值