设为首页
收藏本站
开启辅助访问
切换到窄版
登录
立即注册
中问网首页
我的收藏
站长博客
搜索
搜索
本版
帖子
用户
第一问答网
»
论坛
›
中问网
›
问答
›
在C语言中x=1,y=2,z=3,x=x||y&&z;谁给我解释一下为什么x ...
返回列表
发新帖
在C语言中x=1,y=2,z=3,x=x||y&&z;谁给我解释一下为什么x值为1
[复制链接]
11
|
4
|
2012-5-31 16:29:01
|
显示全部楼层
|
阅读模式
x=x||y&&z为赋值语句,将表达式x||y&&z的值赋值给x;右边表达式先运算&&,后运算||,又因为x的初始值为1,1或上任何值,结果都为1,后面的与操作无论是什么结果都不影响整个表达式的值;因此,最终x的值既是1!...
回复
使用道具
举报
千问
|
2012-5-31 16:29:01
|
显示全部楼层
首先弄清||和&& 还有=的优先顺序!&&优先于||,而且要注意||和&&是逻辑符号,非零的数都看成1,。 先看y&&z,由于z和y都是非零值,所以y&&z这部分结果是1.再看x||1,由于1非零值,所以结果还是1.所以赋值号右边的结果就是1.最后赋值运算,x的结果就是1了。...
回复
使用道具
举报
千问
|
2012-5-31 16:29:01
|
显示全部楼层
xyz都不为0,x||Y,xy都为真,所以为一,然后&&z,z也为真,所以.x最后的为1....
回复
使用道具
举报
千问
|
2012-5-31 16:29:01
|
显示全部楼层
关键在x的二次赋值,x=1||2&&3,逻辑运算1||2&&3为真,所以x=1。...
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
千问
主题
0
回帖
4882万
积分
论坛元老
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
积分
48824836
加好友
发消息
回复楼主
返回列表
问答
热门排行