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

说起这个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); 呵呵!!!

原文发布于微信公众号 - 程序员互动联盟(coder_online)

原文发表时间:2015-07-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Golang语言社区

转-Golang语言Interface漫谈

一件作品的诞生,通常是一个设计师独立完成的。因为这样,一件建筑也好,画作或者音乐舞蹈也好,才能真实反映出其个性。而正是这种不同于其他同类的独特一面,正是这种发自...

33350
来自专栏程序人生

来来来,咱们元编程入个门

前一篇文章竟然被很多人批「干货太少」 —— 一看你们就没有看过 Rich 他老人家的 Hammock Driven Development(我很久前推荐过滴),...

350100
来自专栏写代码的海盗

我们是80后 golang入坑系列

现在这个系列,已经开始两极分化了。 点赞的认为风格轻松,看着不困。反之,就有人嫌写的罗里吧嗦,上纲上线。所以善意提醒,里面不只是技术语言,还有段子。专心看技术的...

35770
来自专栏Java帮帮-微信公众号-技术文章全总结

第八天 自定义类型方法集合混合使用【悟空教程】

21180
来自专栏青玉伏案

设计模式(十):从电影院中认识"迭代器模式"(Iterator Pattern)

上篇博客我们从醋溜土豆丝与清炒苦瓜中认识了“模板方法模式”,那么在今天这篇博客中我们要从电影院中来认识"迭代器模式"(Iterator Pattern)。“迭代...

207100
来自专栏杨建荣的学习笔记

通过java程序模拟实现地铁票价2+2=12(r3笔记第94天)

地铁票价在这周六开始就要上涨了,这几天做地铁明显感觉人比平常多了很多。大家也都在默默的等待这一刻的到来,尽管很不情愿,但是终究会来。 到时候肯定吐槽的人一抓一大...

27760
来自专栏斑斓

深入探索Scala的Option

程序员最深恶痛绝并力求避免的异常是NullPointerException,很不幸,我们往往又会忽略这个错误。不知是谁设计了Null这样的对象。我在文章《并非N...

34270
来自专栏Petrichor的专栏

什么是:语法糖、语法盐、语法糖精

56750
来自专栏技术墨客

Java函数式开发——优雅的Optional空指针处理

    在Java江湖流传着这样一个传说:直到真正了解了空指针异常,才能算一名合格的Java开发人员。在我们逼格闪闪的java码字符生涯中,每天都会遇到各种nu...

14020
来自专栏ACM算法日常

最高的牛Tallest Cow(前缀和)- POJ 3263

FJ's N (1 ≤ N ≤ 10,000) cows conveniently indexed 1..N are standing in a line. E...

12610

扫码关注云+社区

领取腾讯云代金券