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

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

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

这个问题不应该出现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...

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

A.求模运算要求所有参数都是整型6.8不合适 B.a+=b+=8;相当于a+=(b+=8);相当于b+=8; a+=b; C.++运算符要求后面的是个变量名,这里是表达式错 D.a+b=9中赋值号=要求左边是个变量名,这里是表达式错

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

把10赋给b, 把6赋给c, 把(10%6)赋给a, 结果a=4,b=10,c=6.

&&在这里运算优先级最低,相当于 (!(a-b)+c-1)&&(b+c/2) 即:(!(6-4)+2-1) && (4+2/2) ==>(!2 +1)&&(5) ==>(0+1)&&(5) ==>1

#include int main( int argc, char* argv ){ int a=5,b=6; (++a==b--)?++a:--b; printf("a =%d,b=%d",a,b);}a =7,b=5

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);这样是对的。

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