yhkn.net
当前位置:首页 >> 设int A=0,B=0,C=2,D=4;,则执行(C=A==B)||(D=B==A)... >>

设int A=0,B=0,C=2,D=4;,则执行(C=A==B)||(D=B==A)...

以上这个式子是逻辑表达式,在逻辑表达式的求值过程中,表达式中的所有操作并不一定都会被计算到。为了提高计算效率,大多数编译系统只有在必须求出逻辑表达式中某一操作数的值才能计算出逻辑表达式的结果时才对该操作求值,这种求值方法称为优...

这是逻辑运算,n的值为2 (m=a>b) 是赋值表达式,若a大于b则m得真,否则m得假。 a=1,b=2, a>b 为假,故 m=假。赋值表达式(m=a>b)为假。m=0。 在逻辑与&&运算中,如果第一个操作数为假,则结果是假,后面的操作数不参与运算,本题中因为第一个...

--a a本来就等0 --后就成了 -1 而||或操作从左到右然扣-1为非0所以 非0值||其它 得出 ture 一般就是1 所以 a= -1 d=1其它不会执行 b=1 c=1 不变

(m=a>b) 是赋值表达式,若 a 大于 b 则 m 得真,否则m得假。 a=1,b=2, a>b 为假,故 m=假。赋值表达式(m=a>b)为假。m=0. (m=a>b)&&(n=c>b) 是 2个 赋值表达式 的 ”逻辑与“ 计算,当前面(m=a>b)为假时,{(m=a>b)&&(n=c>b) } 必得假, 则 ...

&&的优先级高于 || 的优先级,所以先计算&&再计算|| 而!c的值为1,所以最后d为1。

int a=1,b=2,c=3,d=4; if((a=2)&&(b=1)) c=2; a=2表示赋值2给a,同时检查结果2是不是真, 当然是,所以又检查b=1, b=1 同上,结果也是真,所以执行c=2; if((c==3)||(d==-1)) a=5; c=2!=3 ,d=4!=-1,所以不执行a=5; printf("%d,%d,%d,%d\n",a,...

n=2,因为m=(a>b); 解释为:如果a大于b,那么m等于true(即1);否则m等于false(即0); n=c>d也是这个意思. 再有(m=a>b)&&(n=c>d)首判断a>b是否为真,因为a=1,b=2.所以a>b为假。m=0,接着就不进行 n=c>d。故n的值未改变。估是因为&&的原因。

选择A.0 这个是逻辑或短路,因为a>b为真,所以||后面的表达式不再求值,即++b不会执行,所以b还是0

if(a=1) b=1;c=2; 这一行有问题 if和else之间永远只能有一条语句,而b=1;c=2;是两条语句! c语言一条语句可以写在多行,多条语句也可以写在一行,关键是就分号,一个分号到上一个分号(或者是{,左半花括号)之间的内容都被认为是一条语句 所以想...

m=1,n=0;解释如下,如果ad)这个式子,由以上分析,(c>d)为假,其真值为0,所以n为0。

网站首页 | 网站地图
All rights reserved Powered by www.yhkn.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com