在C语言中、设a=3,b=-4,c=5; 请问大师表达式++a-c+(++b)和表达式++a-c+++b有什么区别 该如何去求值

这两表达式是C语言中两个自增自减表达式,主要是其中后面那3个+号一个有括号一个没括号分别表示什么含义该按怎样的优先级和结合性去求表达式的值先谢谢编程高手了... 这两表达式是C语言中两个自增自减表达式,主要是其中后面那3个+号 一个有括号一个没括号 分别表示什么含义 该按怎样的优先级和结合性去求表达式的值 先谢谢 编程高手了 展开
 我来答
随心E谈
2011-06-29 · TA获得超过1009个赞
知道小有建树答主
回答量:489
采纳率:0%
帮助的人:162万
展开全部
++a-c+(++b) 等价于(++a)-c+(++b)

++a-c+++b 等价于 (++a)-(c++)+b

结合性是尽可能地跟前面的结合;所以有 (++a)-(c++)+b
先算前置的,再算表达式的,再算后置的。
(++a)-c+(++b)
a=a+1;
b=b+1;
a-c+b;这就是表达式++a-c+(++b) 的值;

(++a)-(c++)+b
a=a+1;
a-c+b;这就是表达式++a-c+++b的值,
c=c+1;
追问
他们最后的值分别是多少
上善若水的小仓库
2011-06-29 · TA获得超过100个赞
知道答主
回答量:166
采纳率:0%
帮助的人:46.6万
展开全部
最简单的解释:1.自加自减优先级比加减高。2.对于++a的话就是先加后返回a的值,而a++的话就是先返回a,在加;3.对于第三个问题就是从左到右运算的时候当然是先考虑左边的在考虑右边的了,就是(c++)+b
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-07-06
展开全部
这道题很简单的,首先++a-c+(++b) 中++a先自加1,得a=4,然后减去 c 也就是4-5,得 -1,因为括号优先级最高所以先计算括号里的b的自加,得b=-3,最后 -1+(-3)得-4

第二题,我们从左到右计算就可以了,a先自加,得4,减去c(其中C是被减去后才自加的),也就是4-5,得-1,加上b,也就是
-1+(-4)最后得-5
另外,虚机团上产品团购,超级便宜
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
手机用户23515
2011-06-30 · TA获得超过175个赞
知道答主
回答量:473
采纳率:0%
帮助的人:300万
展开全部
这道题很简单的,首先++a-c+(++b) 中++a先自加1,得a=4,然后减去 c 也就是4-5,得 -1,因为括号优先级最高所以先计算括号里的b的自加,得b=-3,最后 -1+(-3)得-4

第二题,我们从左到右计算就可以了,a先自加,得4,减去c(其中C是被减去后才自加的),也就是4-5,得-1,加上b,也就是
-1+(-4)最后得-5
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
WANTAWAY31415
2011-06-29 · TA获得超过319个赞
知道小有建树答主
回答量:221
采纳率:0%
帮助的人:148万
展开全部
这两个没有区别,++i是左结合
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式