wmjy.net
当前位置:首页 >> int x=2,y=3,z=4:则表达式!(x+y)>z的值为____. >>

int x=2,y=3,z=4:则表达式!(x+y)>z的值为____.

0 因为!的优先级高,所以先算!x,在计算(!x)+y,又因为!x的值为零,所以!x+y>z不成立。所以取0. #include"stdio.h" main() { int x=2,y=3,z=4; printf("%d\n",(!x+y>z)); return 0; } 这是源码,你可以试试,望采纳。。。。。

x=2 y+z=7 2||7结果为真,也就是1

"!"优先于"+"优先于">" !x+y>z 就是(!x+y)>z 那就是(0+3)>4 ,结果是0

先x+y>z是真继续y==z是假 结果是false 0

表达式x+y&&(x=y)等价于(x+y)&& (x=y),x+y=5,x=y是将y赋给x,故x=3. 5 && 3 = 1 注意两点:1、运算优先级 2、x=y 与 x==y的区别,前者为赋值表达式,后者为逻辑表达式

x+y=5 !(x+y)=0 又z=2,0不大于2,关系式不成立 最终的结果应为0

等于1。因为“||”是逻辑运算符,“+”为算术运算符,它们之间的优先级为 算术运算符>逻辑运算符,所以x||y+z=x||(y+z) 实际为4||7 其值为真,数值等于1;

只是等于1的,我是经过turbo c2.0编译过的,答案应该没什么问题的,程序是: main() { int x,y,z,k; x=3;y=4;z=5; k=0; k=!(x+y)+z-1&&y+z/2; printf("%d",k);} 答案为什么会等于1呢?那是因为运算级别的问题,根据运算级别,实现算括号里面的先...

1 这就相当于一个逻辑判断式 左边是一个逻辑表达式 右边也是 左右逻辑表达式的值均为1 1==1 所以为真 即1

(x&&y)结果为1 (x||z)结果为1 只是认为非0为真值,0为假值。 所以结果为1 即真

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