有以下程序 #include <stdio.h> main() { char c=’A’; int x=36, b; b= (x>>2) && ( c<’a’ ); printf("%d\n", b ); } 程序运行后的输出结果

admin2021-06-15  6

问题 有以下程序
#include <stdio.h>
main()
{  char  c=’A’;
   int   x=36, b;
   b= (x>>2) && ( c<’a’ );
   printf("%d\n", b );
}
程序运行后的输出结果是

选项 A、1
B、0
C、2
D、4

答案A

解析 >>右移运算符,x=36,执行x>>2后,x=9;"&&"逻辑与运算,先计算左边表达式真假,若为假,不计算右表达式,整个逻辑表达式为假,若左表达式为真,再计算右表达式,之后做逻辑与运算;x>>2为真,A的ASCII码为65,a的ASCII码为97,c<’a’为真,整个逻辑表达式(x>>2) && ( c<’a’ )为真,得b=1。A选项正确。
转载请注明原文地址:https://jikaoti.com/ti/Olz0FFFM
0

最新回复(0)