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

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

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

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在自增。

重点:++运算优先级很高。


杭州彩谱科技有限公司
2020-07-03 广告
测色仪L、a、b、c、h的意思,L代表明暗度(黑白),a代表红绿色,b代表黄蓝色,c表示彩度(色彩饱和的程度或纯粹度),h表示色调角。测色仪,广泛应用于塑胶、印刷、油漆油墨、纺织、印染服装等行业的颜色管理领域,根据CIE色空间的Lab,Lc... 点击进入详情页
本回答由杭州彩谱科技有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式