若有定义和语句,int a=10,b=5,x; char c=’A’; x=a&b&&c<’a’;则x的值是?

2025-03-01 02:59:16
推荐回答(1个)
回答1:

1) 位运算
& 按位与
| 按位或
^ 按位异或
~ 取反

10二进制 1010, 5二进制101,
a&b = 10 & 5 = 0.
2) 'A' ASCII码 65, 'a' ASCII码97 (小写字母比对应大写字母ASCII码大32)
'A' < 'a' 为真(对于字符,系统内部用整数ASCII码表示)
关系运算优先级最低
x= a&b && c< 'a' 相对于 x= ( (a&b) && (c< 'a') ) = (0 && TRUE) = FALSE --> 0
由于x是整数类型,虽然&&得到的结果是布尔型false,但是赋给整型时,类型自动升级(bool型/char型 “升级” 成 整型)