问题
单项选择题
以下程序(库函数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。