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。 在逻辑与&&运算中,如果第一个操作数为假,则结果是假,后面的操作数不参与运算,本题中因为第一个...

(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) } 必得假, 则 ...

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

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

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

C语言中,凡不为0的,按“真”处理,等于0按“假”处理。结果为“真”用1表示,为“假”用0表示。 先作&&(与)运算,再作||(或)运算。 所以d=1。 另外:C语言的逻辑运算,如果结果明确,后继的运算将不再进行! 如本例,因为a=4,所以!a=0,不管b的值...

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

#include int main() { int a=2,b=0,c=0; c+=b&&a--; printf("a=%d\n",a); printf("c=%d\n",c); return 0; } 运行结果为: a=2 c=0 分析如下: 因为c+=b的逻辑值为0,那么不管a--是真还是假,整个表达式的值都是假,而C语言的处理是直接略过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的值未改变。估是因为&&的原因。

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