c语言b=a++和b=(a++)的区别

如题所述

b=a++和b=(a++)是相等的,始终都是a加1前的值
++a这个式子的值是a加1后的值,a是加1后的值
a++这个式子的值是a加一前的值,a是加1后的值
(a++,a+1)是个逗号运算符的式子,结果是最后一个式子的值,即a+1
温馨提示:内容为网友见解,仅供参考
第1个回答  2020-04-21
这个和()没什么关系,我详细的讲一下,你一定要看完啊:)
注意理解a++和++a的区别:
a++:
先将a的值代入表达式,在表达式运算完毕后,再将a进行++处理
++a:
先将a进行++处理,再将a的值代入表达式
注意对于a++这里有一个“在表达式运算完毕后,再将a进行++处理”,
b=(a++);
这是一个赋值表达式,
所以先将a的值代入表达式,必须等到赋值表达式运算完毕后,再将a进行++处理,
也就是说必须等到给b赋值完毕后,才将a进行++处理
所以b=3,a=4
相似回答
大家正在搜