c语言。。求解???若定义:int w=1,x=2,y=3,z=4,a=5,b=6; 则执行语句(

c语言。。求解???若定义:int w=1,x=2,y=3,z=4,a=5,b=6; 则执行语句(a=w>x)&&(b=y>z);后, a、b的值为 B 。
A) 1和1 B)0和6 C) 5和0 D) 0和0
谁知道b的值咋来的

选B
解释:
w>x不成立,所以a=0,那么&&运算符的左值(a=w>x)整体为False;
因为&&的短路效果,就是左值为False,则不计算右侧表达式
所以b还是为最初赋值的6
综上:a=0,b=6追问

非常感谢。

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-01-09
亲,一开始b就等于6好不。
你没看到int b=6么。。。

后来因为w>x 为假,所以 (b=y>z)就不执行了。
b就保持了原来的值追问

那a呢

追答

a=w>x
因为w>x为假,0假1真。
如果a=0

追问

后面不执行对吧。我知道了。感谢。

追答

正是如此。

本回答被提问者采纳
第2个回答  2015-01-09
y大于z为假,所以b等于0。同理x等于0
第3个回答  2015-01-09
此语句顺序执行,先执行a=w>x,条件为假,因此a=0;&&前有一条件为假,所以后边的语句不执行,因此b=6.

c语言。。求解???若定义:int w=1,x=2,y=3,z=4,a=5,b=6; 则执行语句(
选B 解释:w>x不成立,所以a=0,那么&&运算符的左值(a=w>x)整体为False;因为&&的短路效果,就是左值为False,则不计算右侧表达式;所以b还是为最初赋值的6 综上:a=0,b=6

int a=5,b=6,w=1,x=2,y=3,z=4.执行表达式(a=w>x)&&(b=y>z)
(a=w>x)&&(b=y>z)的值为0 a为0 b为6 && 与操作是从左至右 而 a=w>x 中,由于w<x,所以a=0 && 与运算见0为0,所以右边b的那一块压根就么参加计算

在C语言中,若 int w=1,x=2,y=3,z=4; 则表达式w>x?w:z>y?z:x的值是多...
1、先执行z>y?z:x,判断z是否大于y,结果为真,取z的值,结果为4;2、再执行w>x?w:4,判断w是否大于x,结果为假,结果为4。若有多个条件表达式像这样连在一起:x=<表达式1>?<表达式2>:<表达式3>?<表达式4>:<表达式5>···执行顺序是从右到左依次判断再求出最后的x,即所谓的右结合...

int a=5,b=6,w=1,x=2,y=3,z=4.执行表达式(a=w<x)||(b=y>z);printf...
a=1,b=6;或表示式的规则是前一个条件为真后一个条件不执行,所以(a=w<x)为真a赋值为1,(b=y>z)没有被执行,值没有改变依然为6

《C语言程序设计》试题2 求解 请勿乱填 非常感谢
21.若w=1,x=2,y=3,z=4;则条件表达式w>x?w:y<z?y:z的结果为_3_。22.共用体类型的标志是 union 关键字。23.定义整型一维数组a含有10个元素且初始化为0的语句是_int a[10]=0;__。24.在C语言中,打开文件的函数名是_fopen()_ 。25.在C语言中“逻辑运算符”有三种,它们分别...

有定义int x=1,y=2,z=3;,执行下列程序if(x>y)z=x;x=y;y=z;printf(%d...
3,解释程序:if(x > y) z = x;到这里if'语句的作用范围便已经结束了,并没有将z = x ; x = y ; y = z;三条语句全部包括,因为if语句后面没有用花括号来标明作用域,所以程序自动从第一个分号开始判断。而x = 1,y = 2,不满足if条件,所以第一个z = x不会执行;直接执行...

4.33 若有int w=1,x=2,y=3,z=4;则表达式w<x?w:y<z?y:z的值是 。 A)4...
因为条件运算符的结合方向是自右至左的,所以表达式就可以变为w<x?w:(y<z?y:z),代入数据就为1<2?1:(3<4?3:4),进一步计算括号里的结果变为为1<2?1:3,最后整个条件表达式的结果为1。

int x=3,y=4,a=5,b=6; 则表达式(a=x) &&(b=y)的值是
右括号,先算括号里面的,a=3,b=4,与门运算,两边都是非0数才为1,否则为0;如图:

main() { int a=5,b=6,w=1,x=2,y=3,z=4,c; c=(a=w>x)&&(b=y>z); pr...
回答:输出是0,6,0。

设int x=1,y=2,z=3,w=4,则表达式:x<y?x:z<w?x:w的结果为怎么会是3啊
(x): [(z<w) ? (x) : (w)],注意不要写成[(x<y)? (x): [(z<w)] ? (x) : (w),因为该语句的结合方式是从右至左的。该题主要考的是形如a;b;c的语句。该语句的运算法则是:先算a语句,(1)、若a语句为真(即为1)则求b语句的值,并把b语句的值作为整句语句的值...

相似回答