徐州华联:c 语言中的问题

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/30 08:25:55
int a=1,b=2,c=3,d=4,m=2,n=2;

则执行表达式:(m=a>b)&&(n=c>d)后,n的值为

A)1 B)2 C)3 D)0

n=2;
答案为 B

因为表达式 (m=a>b)&&(n=c>d)中 (m=a>b)为假,所以整个表达式便为假,系统不会再去判断(n=c>d),即也不会给n重新赋值

(m=a>b)&&(n=c>d)
(2=1>2)&&(2=3>2)
(2=0)&&(2=1)
0&&0
0

所以答案应为 D

N=0
n=c>d
为假
将0赋值给N

答案:D
n = (c>d)
n = 0

N 是假的。选D

D