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

自增/自减运算符

时间:2016-02-12 16:16:21      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:

因为做以下题有感。。。原来简单的自增运算符也有这么多猫腻

http://blog.csdn.net/zdarks/article/details/8767087 第五题

 参考:c程序设计语言2.8  

Vs2015测试:

a[6]={0};t=h=0;

a[0]=a[0]++

  

1

a[1]=++a[1]

  

1

a[2]=t++

  

0

a[3]=++h

  

1

COUT<<a[4]++

  

0

COUT<<++a[5]

  

1

  1. 自增自减只能作用于变量,不能作用于表达式
  2. 在不需要使用任何具体值且仅需要递增变量的情况下,前缀与后缀方式相同。
  3. 首先考虑的是,
    1. 前缀先赋值,后自增
    2. "++"优先级大于"="
    3. 并且,4.a的优先级高于4。b
      1. a[0]=a[0]++,先是将a[0]赋值给a[0],然后执行a[0]的自增,所以a[0]的最终值为1
      2. a[1]=++a[1],a[1]先自增为1,再赋值给a[1];最终为1
      3. a[2]=t++,如i,不过t先赋值给a[2],再自增。所以a[2]=0;t=1;
      4. 以下同理,只要遵循4.a/4.b即可。

         

自增/自减运算符

标签:

原文地址:http://www.cnblogs.com/jiangtu/p/5187053.html

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