自增自减的问题

发布时间:2024-05-14 06:26 发布:上海旅游网

问题描述:

定义 int a=5,b;则执行表达式b=++a*--a之后,变量b的值为多少?》
答案是25.想不通,大家尽量说详细点。

++a(--a)不是应该先增(减)么?
xjw10086:我也觉得是30,但是模拟题上答案是25.

qfyz0:你是不是刚好弄反了啊?我反复看了书,也不是你说的那样啊。

江小右:为什么最后是b=a*a?(++a)*(--a)应该是从左至右啊,怎么算了右边还转回左边?

问题解答:

楼主和我曾经犯得错误时一样的
++a*--a这个++a和--a后a的值是一个
一楼的也是错误的
应该是a=a+1=6;
a=a-1=6-1=5
结果a=5然后是
b=a*a;
结果25
如果是++a*a-- 那结果就是36,楼主可以测试一下
楼主关于连运算符优先级都不知道,麻烦翻翻书

你没搞明白++a 与a++的区别,前者是先运算后自增后者是先自增后运算.
也就是说这题分开后是
b=a*a
a=a+1
a=a-1
这样说你明白了没.......

答案不是30?那估计电脑出错了,你试着重启一下IDE。

热点新闻