a++和++a的区别是什么?
1个回答
展开全部
a++是首先拷贝自己的副本,然后对真值加一。
++a是对真值加一,然后使用真值。
例子:
int a=0, b, c;
b = a++;
c = ++a;
printf("b=%d, c=%d", b, c);
上述程序段运行结果为b=0,c=2,可以证明理论。而a++和++a本身在单独使用时,与a=a+1是等价的。
例如:假设x=3,y=4。
(1) (x++)+(++x)=8
解释:对于第一个(x++),因为x++是先取值后自增,所以(x++)所取得值为3,然后x进行自增,此时x=4;对于第二个(++x),因为++x是先自增后取值,所以(++x)所取得值为5,此时x=5,所以结果为8。
(2) (x++)/3+(--y)*2-(x--)%6+(y++)*3-(y--)。
1+6-4+9-4=8。
解释:首先(x++)取值为3,然后x=4;然后(--y)取值为3,此时y=3;然后(x--)取值为4,然后x=3;然后(y++)取3,然后后y=4;最后(y--)取4,然后y=3。
注意:()可以提高算数优先级,所以先算括号里面的表达式,但是x++的取值为x,然后x在自增。
重点:++运算优先级很高。
富港检测东莞有限公司
2024-12-25 广告
2024-12-25 广告
作为富港检测技术(东莞)有限公司的工作人员,关于ISTA 1A、2A及3A的区别及测试项目简述如下:ISTA 1A是非模拟集中性能试验,主要进行固定位移振动和冲击测试,针对不超过68kg的包装件。ISTA 2A则在此基础上增加了部分模拟性能...
点击进入详情页
本回答由富港检测东莞有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询