• 网站刚刚上线,难免有不足的地方,敬请谅解!欢迎提出宝贵意见!

  •    3年前 (2015-07-09)  入门指导 答疑解惑 |   4 条评论  72 
    文章评分 2 次,平均分 5.0

    说起这个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),你可以第一时间获取原创技术文章,和(java/C/C++/Android/Windows/Linux)技术大牛做朋友,在线交流编程经验,获取编程基础知识,解决编程问题。程序员互动联盟,开发人员自己的家。

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

     

    本文原始地址:http://www.coderonline.net/faq-iii-difference.html

    本站所有文章,除特别注明外,均为本站原创,转载请注明出处来自http://www.coderonline.net/

    否则保留追究法律责任的权利!

    关于

    发表评论

    表情 格式
    1. 这个样子清楚了,就不纠结了!

      angel 评论达人 LV.5 3年前 (2015-07-09) [0] [0]
    2. 经常遇到这种事,这次不用愁了

      ghost045 评论达人 LV.5 3年前 (2015-07-09) [0] [0]
    3. 正如作者所说,大家就不要纠结(++i)+(++i)这类玩意了

      麦子熟了 博 主 3年前 (2015-07-09) [1] [0]
    4. 和Java语言的一样,++,–都是右结合,右边有变量就先进行自加、减再用它的值进行运算。

      Coder 评论达人 LV.5 3年前 (2015-07-09) [0] [0]
    切换注册

    登录

    忘记密码 ?

    切换登录

    注册