问题
单项选择题
有以下程序(说明:字母A的ASCII码值是65)
#include<stdio.h>
void fun(char *s)
while(*s)
if(*s%2) printf ("%c", *s);
s++;
main()
char a[]="BYTE";
fun(a); printf("\n");
程序运行后的输出结果是______。
A) BY
B) BT
C) YT
D) YE
答案
参考答案:D
解析: 阅读程序可知,函数只会输出ASCII码值为奇数的字母,执行fun(a)时,依次取出a[]中的字母,当取第一个字母B时,因为B的ASCII码值为66,所以不会输出B,字母Y的ASCII码为89,字母T的ASCII码值为84,字母E的ASCII码值为69,所以最后输出字母YE。正确答案为D。