关于孝道的书籍名字:设m,n,a,b,c,d均为0,执行(m=a==b)|(n=c==d)后,m,n的值是多少?

来源:百度文库 编辑:高考问答 时间:2024/04/29 23:27:16
是1,1吗?还是1,0.为什么????
本人粗心大意拼错了.是逻辑或(||).深表歉意啊!!!!!!!!!!!!

这道题与m、n的初值无关,只与abcd的初值有关
(m=a==b)|(n=c==d)
(m=(0==0)|(n=(c==d))
所以
(m=1)|(n=1);
因为|是或运算,所以两个赋值语句均执行,即m,n的值均为1。

如果中间的|是两条的话(即||),那么是
(m=1)||(n=1)
根据短路求值,当m=1执行完后,整个表达式的值已经可以确定为1,所以
n=1不执行,即m的值为1,n的值为0

== 的优先级比 = 高
1.(m=a==b)|(n=c==d)
2.(0=(0==0))|(0=(0==0))
3.(0=1)|(0=1)(真假判断在c里面true是0,false是1)
4.0|0
5.0

你这个题目应该是c基础题
特别是针对++ -- 不过根据编辑器的不同结果是不同的
理解就好,不需要深究

1,1

这有什么可说的?

如果中间是 || 的话
那结果就有可能是 1,0了。