选择题
有以下程序:
#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。
提交答案
关闭