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