自增/自减运算符
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自增/自减运算符相关的知识,希望对你有一定的参考价值。
因为做以下题有感。。。原来简单的自增运算符也有这么多猫腻
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 |
- 自增自减只能作用于变量,不能作用于表达式
- 在不需要使用任何具体值且仅需要递增变量的情况下,前缀与后缀方式相同。
-
首先考虑的是,
- 前缀先赋值,后自增
- "++"优先级大于"="
-
并且,4.a的优先级高于4。b
- a[0]=a[0]++,先是将a[0]赋值给a[0],然后执行a[0]的自增,所以a[0]的最终值为1;
- a[1]=++a[1],a[1]先自增为1,再赋值给a[1];最终为1;
- a[2]=t++,如i,不过t先赋值给a[2],再自增。所以a[2]=0;t=1;
- 以下同理,只要遵循4.a/4.b即可。
以上是关于自增/自减运算符的主要内容,如果未能解决你的问题,请参考以下文章