i++与++i的区别

今天在写题的时侯在++i与i++上遇到了麻烦,具体就是我在写一个循环语句时因为没有弄清楚i++与++i的区别而导致的错误。
之前对于i++与++i的使用都只局限于如下方式:

for(j=2; j<=9; j++)
for(j=2; j<=9; ++j)
这样使用好像两者并没有什么区别。

然而当我像下面这样用时却出了问题:
for(j=i,t=2; j<=n; j=i*(t++))
for(j=i,t=2; j<=n; j=i*(++t))

经过手动测试之后我发现了原因:
++i语句之所以把‘+’放在前面就是因为它是先进行加一;
而i++却刚好与之相反;

所以当单独使用的时候两者都是进行了i+1的运算,但一旦你将其赋给其他变量时就会出现偏差。比如:
t=i++(i=0)//此时的i先赋值给变量t再进行加一的操作,所以t=0,i=1

t=++i(i=0) //此时的i进行加一的操作赋值给变量t,所以t=1,i=1

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值