i++和 ++i的区别

 我来答
热爱社会的飞飞
高能答主

2021-09-17 · 衣食以厚民生,礼义以养其心。
热爱社会的飞飞
采纳数:530 获赞数:51597

向TA提问 私信TA
展开全部

i++和++i的区别:

1、i++ 返回原来的值,++i 返回加1后的值。

2、i++ 不能作为左值,而++i可以。

3、i++前者是先赋值,然后再自增;++i后者是先自增,后赋值。



如果有表达式 a = i++ ;它等价于 a = i;i = i + 1;

如果有表达式 a = ++i;它等价于i = i + 1;a = i;

++i和i++都是分两步完成的。因为++i 是后面一步才赋值的,所以它能够当作一个变量进行级联赋值,++i =;a =b,即++i是一个左值(可被寻址的值);i++ 的后面一步是自增,不是左值。

富港检测东莞有限公司
2024-12-24 广告
同编译器有关。 用VC+编译器 得 1 i+ 是后+,表达式里用老值,出了表达式更新。 这样看清楚: int i=0,j; j=i+; / 表达式里用老值,所以 j=0 printf("i=%d j=%d",i,j); 打印出 i=1 j=... 点击进入详情页
本回答由富港检测东莞有限公司提供
418wryrxhbh
2011-06-25 · TA获得超过404个赞
知道小有建树答主
回答量:392
采纳率:0%
帮助的人:448万
展开全部
i++与++i是有区别的,i++是运行之后再自加1,而++i是加了1后再运行程序。
对于for(i=1;i>n;i++)与for(i=1;i>n;++i)没区别。
for(表达式1;表达式2;表达式3) 语句
它的执行过程如下:
1) 先求解表达式1。
2) 求解表达式2,若其值为真(非0),则执行for语句中指定的内嵌语句,然后执行下面第3)步;若其值为假(0),则结束循环,转到第5)步。 3) 求解表达式3。 4) 转回上面第2)步继续执行。 5) 循环结束,执行for语句下面的一个语句。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式