一个C问题:int a=5;b=++a*--a;为什么b的答案是25,请具体说一下a每步的赋值情况

来源:百度知道 编辑:UC知道 时间:2024/05/23 23:28:20
谢谢了
运算完++a,后a不是就=6了吗......,我就是这里不能理解

++a之后a=6;a再--变为5;5×5=25

解题关键在++a和--a上面,++a的意思是a先参加运算在+1,--a同理,所以,b=++a*--a与b=a*a等价,答案是b=25。

++是+1 , --是-1,所以前后抵消就变回b=a*a=25了(a的赋值为5)