(6)定义int a=5,b;,则执行表达式b=++a*--a之后,变量b的值为 【6】 。

 我来答
浅水鱼_1
2010-03-19
知道答主
回答量:11
采纳率:0%
帮助的人:0
展开全部
++a和--a都是先执行自加后再带入计算式计算的,所以先执行a自加也就是a=6然后执行a自减a=5,带入b=a*a即b=5*5=25.我想出题人只是想让你知道在一个计算式中要执行完所有的自加自减后再最后带入式子计算;
而a--和a++则是先将a值带入其中计算后再进行自加自减的。
公良迎梅茅颉
2020-03-08 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:33%
帮助的人:772万
展开全部
25
30是不对的,如果改成以下形式答案为30;
int
a=5,b,c,d;
c=++a;
d=--a;
b=c*d;
则b=30;
b=++a*--a;
等效于b=(++a)*(--a)
(++a)这个表达式的值是a这个变量,不是6这个常量。
(--a)同理。
所以执行后其实就是b=a*a,这个时候++a,--a的操作后,a还是5
所以b=5*5;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
L_o_o_n_i_e
2010-03-16 · TA获得超过4.2万个赞
知道大有可为答主
回答量:8507
采纳率:38%
帮助的人:5143万
展开全部
b=++a*--a 这个表达式要计算什么,出题目的人知道吗?为什么出题目的人不舍得多加几个括号和空格,避免多义性呢?用这种方法来为难初学者,真是误人子弟。

由于表达式的多义性(不同方法断句),不同编译器计算结果将不同。
MS VC++ 得 25
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
秋天feng
2010-03-19
知道答主
回答量:18
采纳率:0%
帮助的人:0
展开全部
25 b=++a*--a;
等效于b=(++a)*(--a)
(++a)这个表达式的值是a这个变量,不是6这个常量。
(--a)同理。
所以执行后其实就是b=a*a,这个时候++a,--a的操作后,a还是5
所以b=5*5;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hao8632398
2010-03-20 · TA获得超过144个赞
知道答主
回答量:108
采纳率:100%
帮助的人:48.5万
展开全部
而我觉得.....++ ,--的运算级别比* 高...
先执行++a 和--a;
而++a,--a;又存在一个自右边向左的运算结合;
先是 --a 得出 4; 然后4 被++a 运算 等于5 ;
此时的 a已经变到5了!!
再到 * 运算 就=5*5=20....
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式