选择题
40.
有以下程序:
#include<stdio.h>
main()
{char x='A';
x=(x>='A'&&x<='Z')?(x+32):x;
printf("%c\n",x);
}
程序运行后的输出结果是______。
A、
A
B、
a
C、
Z
D、
z
【正确答案】
B
【答案解析】
因为在ASCII码中,它的大写比小写刚好小32,比如'A'的ASCII码是65,那么'a'的ASCII码就是97。本题给定程序中,“x=(x>='A'&&x<='Z')?(x+32):x;”这句用了“?:表达式”,A?B:C就是问号前A部分为真时,表达式的值是B,否则表达式的值是C。这里“x>='A'&&x<='Z'”成立,所以表达式取(x+32),所以x='A'+32='a'。因此正确答案为B。
提交答案
关闭