clwn.net
当前位置:首页 >> 若 int x=2,y=3,z=4 则表达式 x<z?y:z 的结果是 >>

若 int x=2,y=3,z=4 则表达式 x<z?y:z 的结果是

x<z?y:z 的计算方式是:若x<z为真,则y是表达式的值,否则z是表达式的值.现x=2,y=3,z=4,则若x<z为真,所以,表达式的值就是y,即3

先算x+y>z,那么显然2+3>4成立,输出1.然后计算y==z,那么显然3==4不成立,所以输出0.最后计算1&&0,1与0肯定是0咯.所以最后结果为0.

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

#includeint main(){ int x=2,y=3,z=4; int a; a=x||y+z; printf("%d\n",a); return 0;}结果是a=1就是表达式最后值.

这是c++语言的不是数学的 而且表达式!(x+y)>z也错了 应该是(x+y)!>z, 然后结果就是0

1x+y的值为5,5和4求与,结果为真,即1.

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

x+y=5,逻辑真 x=y,x=3,逻辑真,5&&3,得1

表达式x

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