问题
单项选择题
以下程序(库函数islower(ch)用于判断ch中的字母是否为小写字母)的输出结果是 #include<stdio.h> #include<ctype.h> void fun(char *P){ int i=0; while(p[i]){ if(p[i]=="&&islower(p[i-1]))p[i-1]=p[i-1]-’a’+’A’; i++; } } main(){ char s1[100]="ab cd EFG!"; fun(s1); printf("%s\n", s1); }
A.ab cd EFG!
B.Ab Cd EFg!
C.aB cD EFG!
D.ab cd EFg!
答案
参考答案:C
解析: 函数fun中while循环实现的功能是从字符串第一个字符开始,依次取出字符进行判断,若当前的字符等于空格并且当前字符的前一个字符为小写字母的话,就将前一个小写字母转换成大写。实际上while循环完成的操作是将空格字符前的小写字母转换成大写,所以选择选项C。