a++和++a的区别是什么?

 我来答
hcy电子数码
高能答主

2021-09-20 · 致力于成为全知道最会答题的人
知道大有可为答主
回答量:1.1万
采纳率:100%
帮助的人:175万
展开全部

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 广告
作为富港检测技术(东莞)有限公司的工作人员,关于ISTA 1A、2A及3A的区别及测试项目简述如下:ISTA 1A是非模拟集中性能试验,主要进行固定位移振动和冲击测试,针对不超过68kg的包装件。ISTA 2A则在此基础上增加了部分模拟性能... 点击进入详情页
本回答由富港检测东莞有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式