for循环语句中i++可以换成++i吗、 为什么呢

[复制链接]
查看11 | 回复3 | 2011-10-21 17:44:47 | 显示全部楼层 |阅读模式
可以。。。。。。。。。因为++i和i++都素实现i的自增1操作,区别在于在算式里的话,++i是先对i自增1再取值,i++是先取值再自增1。。。。如:a = 5 + i++;假设i最开始是1,则语句执行完毕,i变成2,a为6
a = 5 + ++i;同样的假设下,执行完毕,i变成2,a却为7。。。。当然。。如果是在循环里面。。则不需要考虑取值先后的问题了。。。不过如果我没记错的话,底层一点考虑,++i的效率稍微高一点,因为实现的语句,++i比i++少一条貌似。。。...
回复

使用道具 举报

千问 | 2011-10-21 17:44:47 | 显示全部楼层
i++ 和++i也只是自增的时间不一样 int i,sum=0;for(i=1;i<=100;i++)//直到这一段运行后,i就自增1sum=sum+i; //此刻i还是等于1 printf("%d",sum);int i,sum=0;for(i=1;i<=100;++i)//这个没等这一段...
回复

使用道具 举报

千问 | 2011-10-21 17:44:47 | 显示全部楼层
可以的,++i或者i++都是使得i自增1,...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行