码迷,mamicode.com
首页 > 其他好文 > 详细

自加问题++++++++++++++

时间:2019-03-29 09:15:04      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:+++   也有   bug   pre   词条   deb   步骤   ++i   dex   

    int b[10]={0,1,2,3,4,5,6,7,8,9};
    int index=0;
  
    index=0;
int c=b[++index]+b[++index]+b[++index];
  本条代码相当于 c=b[index]+b[index]+b[index]; index++;index++;index++;所以最后结果c=0 index=3;

    index=0;
    int c=b[++index]+b[++index]+b[++index];

    qDebug()<< c
            << index;
  词条代码相当于下面两条代码
index++;index++;index++;
c=b[index]+b[index]+b[index];
所以最终结果 index=3. c=9.
也就是说 在单一表达式内部。 i++使用的是i值。在++i中使用的是i++值
如果在表达式中既有i++也有++i
如“
index=0;
int c=b[++index]+b[++index]+b[++index];
执行步骤为
1,++index;
2,
b[index]+b[index]+b[index];
3,index++;index++;
分成3步。所以最后结果 c=3 index=3;

注意

    int index=0;
    qDebug()<< b[index]
            << b[index++]
            << b[index++]
            << index
            << b[index];
qDebug()中 可以把上面看成一个表达式。所以 上面几个的输出值是一样的。

总结:带有 i++ 和++i i-- --i 表达式的 先进行 ++i ,--i 然后进行表达式运算 最后进行 i++ i--运算
index=0;
测试 int m=b[index++]+b[++index]+b[++index]+b[++index]+b[--index]+b[index--]
  先进行++i --i index=2 m=12 在进行i++ i-- index=2
最终 m=12 index=2;

自加问题++++++++++++++

标签:+++   也有   bug   pre   词条   deb   步骤   ++i   dex   

原文地址:https://www.cnblogs.com/dagao/p/10618842.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!