int x,m,n,a,b; m=n=a=b=8; x=(m=a>b)&&(n=a>b); printf(“x=%d, m=%d, n=%d\n”,x,m,n) 为什么n不是而是8

关东管领
2012-05-31 · TA获得超过129个赞
知道答主
回答量:71
采纳率:0%
帮助的人:42.9万
展开全部

为什么我的n是8呢?你用的什么编译器哟

追问
我想知道为什么n=8     我觉得n=0   给我讲讲   谢谢
追答
&&的逻辑判断是“一假即假”,在 x=(m=a>b)&&(n=a>b)的判断时因为m=a=b=8,所以(m=a>b)为假,直接返回x=0不在做&&后面的判断,也就是(n=a>b)根本没有执行,所以n=8.
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式