jmfs.net
当前位置:首页>>关于c语言中,设int型变量a=5, b=6-(-a),那么b的值为...的资料>>

c语言中,设int型变量a=5, b=6-(-a),那么b的值为...

这个问题不应该出现b=11,你要是有这样的代码,贴出来看看,到底出了什么问题,再作讨论。

最後值为7,这是一个if语句,就是 int a=5,b=6; if(++a==b--) ++a; else --b; ++ar的规则是先运算,所以括号中左值++a=6,a=6; ==的优先级低过--,所以先计算b-- b--的规则是先赋值,所以括号中右值b--=6,b=5; 左值6==右值6,即条件为真,执行++a,因为a...

选择A: a-b=-1为真; a>b 为假; b/c=0(因为为int型),所以为假

设int a=5,b=6, 表达式 a=a+b, a-b 的值为 5 。 因为逗号运算符的优先级最低。原式,等价于: (a=a+b), a-b 逗号运算的结合性是从左至右,完毕之后整个表达式的值是最后一个表达式的值。即11-6=5

这道题应该这样做(m=(a>b))&&(n=(c>d)),a>b则为假 0,m被赋值0,由于(左边)&&(右边),&&左边的已经为假了,所以&&右边的表达式不能再计算了,所以n还是等于7。 祝你学习愉快。

c值不变,仍为2 注意||运算符有短路的副作用 也就是当||运算符左侧的值为非零,也就是真时,那么这个||表达式的值肯定为1,真,没有必要再去判断||右侧的了 所以本题中--c根本没有执行 类似的,还有&& 当&&运算符左侧为假时,那么可以断定整个&&表达式...

这个错误有点隐蔽,&&表达式的运算有个短路的特点,比如:s1 && s2,先计算s1,如果为0那么就不再计算s2.表达式(m=a>b) && (n=c>d) 左边为0,所以不再计算右边,n的值还是2.

A: 声明变量并初始化时:int x=3,y=5;但是,只赋值时是不能这样写的,应该写成x=3;y=5; B: 没有分号,不是一个完整的语句。 C: 相当于 i=i-1; D:x没有定义,如果是 int x=3;int y; y=int(x);这样是对的。

值为7, 逗号表达式的值为最后一个表达是的值, 运算方向为从左到右

与运算符是在前面不成立的条件下,后面的就可以不看了.所以n 保持原值.

网站首页 | 网站地图
All rights reserved Powered by www.jmfs.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com