关于判断的题

来源:百度知道 编辑:UC知道 时间:2024/05/27 09:25:26
int a=1,b=2,c=3,d=4,m=2,n=2
执行(m=a>b)&&(n=c>d)后m,n的值是多少?
(答案是m=0,n=2,为什么n不等于2?)
int a=5,b=6,w=1,x=2,y=3,z=4
执行(a=w>x)&&(b=y>z)后,a,b的值是多少?
(答案是a=5,b=0,b为什么等于0?)
以上2个题为什么结果不一样?
题目就是这样的,用main编辑后结果就是这样的

...c语义的题目吧。。
首先理解计算机语言和数学语言是不一样的。

1)a=1 b=2 所以 a>b不成立 所以m的值就是0;
&&的运算是全1才是1,只要有个0就不用计算了。因为m=a>b是0,所以&&结果为0,没有去计算后面的等式,所以n还是原值2;
2)题目肯定错了,否则结果应该是a=0,b=6,和前面第一题是一样的。要得到前面的答案,题目是w<x

这样题也是考你的基础是否牢固的,我可以谈一下一般的做题技巧,就是特别肯定的题一般就是错的

语句中所有的判断均为false,
如果没有其它赋值语句的话,四个值都应当为0,你确定没有其它语句?