首页 > 其他 > 详细

++i和i++的分析

时间:2020-06-26 00:39:53      阅读:91      评论:0      收藏:0      [点我收藏+]

i++和++i的运行分析

今天在刷leetcode的三数之和时,写错i++与++i。一直只能搜索到一个解,遂百度,发现一个有趣的问题。

  int a=0;
  int a=a++;
  cout<<a;

结果不是1,而是0!!!。看到一篇博客(链接忘了)阐明的原理,大概如下:

i++

  type tmp=i;
  i=i+1;
  return tmp;

++i

  i=i+1;
  return i;

还有一个就是运算符的优先级顺序,因为++的优先级大于=,所以上面的a=a++实际上可以分为两步

  • a++,这时候a=1,等号右边值为0
  • a=右边,这时候第二次赋值,a重新变0

还有一个要注意的是,++i因为返回的是i本身,所以可以作为左值,i++则不可以。

++i和i++的分析

原文:https://www.cnblogs.com/alike/p/13193397.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!