前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【答疑解惑】i++,++i,i+=的区别

【答疑解惑】i++,++i,i+=的区别

作者头像
程序员互动联盟
发布2018-03-13 16:03:53
1.5K0
发布2018-03-13 16:03:53
举报

说起这个i++, ++i 入门练习都会搞这个,一如既往,百试不爽。

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

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

1、 首先两者的区别是:前者是先赋值,然后再自增;后者是先自增,后赋值

2、 ++i 和i++ 的使用,一般来说在循环域里面,这两者并没有什么很大的区别,因为编译器一般都会给你做优化。但是要注意其生存周期,我们要注意i值在程序流中的变化,如果是for、while循环判断中要特别注意++i的值比i++值要提前。

3、i=1 ; j=(++i)+(++i)+(++i); printf("j= %d/n",j); 这个结果是什么?没有结果,因为不同的编译器做出来的结果,你要纠结这个,哎我只能说那些书上纯粹是搞人。

以上我们只需记住先序后续递增,循环判断时的条件即可。

i += 2; 这个是 i = i + 2; 自身值加上2后赋值给自己。这个没有争议。

来骚年练习一下 i += (++i)+(++i)+(++i); 呵呵!!!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2015-07-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员互动联盟 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档