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...

(a=5,b=6,++a,b--,a+b)是所谓逗号表达式,它的计算规则是从左至右一个分表达式一个分表达式地计算,但总表达式的值是最右边的分表达式的值。在这里就是a+b的值,显然a+b=6+5=11。

#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

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

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

先由嵌套在内部的printf("%d%d",a,b)打出56,再由外部的printf("%d",printf...);打印出嵌套在内部的printf("%d%d",a,b)的返回值2——因为内部的printf("%d%d",a,b)输出了两个数据a和b,所以返回输出数据个数是2。把这个语句拆开写就一目了然: int...

6==6,(然后a=6,b=5)所以执行++a 整个表达式的值是7。

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

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