c语言(x>=z && y<’z’ || !y)的值是

已知x=45,y=’a’,z=0;则表达式(x>=z&&y<’z’||!y)的值是()。A.0B.语法错C.1D.“假”该怎么计算啊看不懂... 已知 x=45, y=’a’, z=0; 则表达式(x>=z && y<’z’ || !y)的值是()。

A.0 B.语法错

C.1 D.“假”
该怎么计算啊 看不懂
展开
 我来答
blueskyzh
2015-01-05 · TA获得超过1289个赞
知道小有建树答主
回答量:450
采纳率:100%
帮助的人:185万
展开全部
首先从c语言运算符优先级来看, && 高于||

所以上面表达式相当于 ( (x>=2 && y<'z') || !y)) 就是((1 && 1) || 0) , 最后就是(1 || 0)=1
更多追问追答
追问
为何y<'z'为真啊 这点我不懂
追答
由于y='a',  y<z的意思就是'a'<'z'
也就是‘a'的ascii码小'z'的ascii码, 由于ascii码中是按照a,b,c....z的顺序从小向大排列,所以'a'<'z'是成立的。
宋文婷love
2015-01-05
知道答主
回答量:28
采纳率:0%
帮助的人:16.1万
展开全部
答案是C
x>z && y < 'z' || !y把变量替换就是
45 > 0 && 'a' < 'z ' || !y
45 > 0为真,'a' < 'z' 也为真,所以45 > 0 && 'a' < 'z '为真,变为1 || !y
1与什么值相或都为1,所以答案为1
追问
为何y<'z'为真啊 这点我不懂
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
飞向梦想飞向未来
2015-01-05 · TA获得超过179个赞
知道小有建树答主
回答量:230
采纳率:54%
帮助的人:37.1万
展开全部
选C,&&的优先级高于 || 。x>=z是真 y<'z'也是真,||左侧为真,后面的都短路不用算了,值为真也就是1
追问
为何y<'z'为真啊 这点我不懂
追答
你去查ascii码表字符a 97, z 122
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式