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

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

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

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+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>z 就是(!x+y)>z 那就是(0+3)>4 ,结果是0

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

只是等于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呢?那是因为运算级别的问题,根据运算级别,实现算括号里面的先...

判断x+y的值是否大于z,如果大于z,就取x+y的值,否则取z的值,因此该表达式的值为5.

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

&&是且,||是或。x和y同时不为0时(x&&y)这个表达式的值为1,x和z至少一个不为0,(x||z)的值为1。综上1 == 1这个表达式的值为1

x+(y>!z) 等价于: x+(y>(!z)) z=4(非0),所以!z的值就是0,所以原式化为: x+(y>0) y=3,所以(y>0)成立,所以(y>0)的值就是1,所以原式可化为: x+1 综上,原表达式的值就是x+1,由于x=2,所以原表达式的值就是3

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