在C语言中、设a=3,b=-4,c=5; 请问大师表达式++a-c+(++b)和表达式++a-c+++b有什么区别 该如何去求值
这两表达式是C语言中两个自增自减表达式,主要是其中后面那3个+号一个有括号一个没括号分别表示什么含义该按怎样的优先级和结合性去求表达式的值先谢谢编程高手了...
这两表达式是C语言中两个自增自减表达式,主要是其中后面那3个+号 一个有括号一个没括号 分别表示什么含义 该按怎样的优先级和结合性去求表达式的值 先谢谢 编程高手了
展开
6个回答
展开全部
++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;
++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;
追问
他们最后的值分别是多少
展开全部
最简单的解释: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
另外,虚机团上产品团购,超级便宜
第二题,我们从左到右计算就可以了,a先自加,得4,减去c(其中C是被减去后才自加的),也就是4-5,得-1,加上b,也就是
-1+(-4)最后得-5
另外,虚机团上产品团购,超级便宜
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这道题很简单的,首先++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
第二题,我们从左到右计算就可以了,a先自加,得4,减去c(其中C是被减去后才自加的),也就是4-5,得-1,加上b,也就是
-1+(-4)最后得-5
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这两个没有区别,++i是左结合
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询