问题 单项选择题

有以下程序,程序中库函数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';
++;


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

解析: int islower(char ch)的功能是判断字符c是否为小写英文字母,当ch为小写英文字母(a~z)时,返回非0值,否则返回0。后面语句p[i-1]=p[i-1]-'a'+'A'的作用是把小写字母转化为大写字母。根据判断条件可知,只有当空格字符的前一个字符为小写字母时才把该小写字母变成大写,所以选择C)。

单项选择题
单项选择题