问题 单项选择题

以下程序(库函数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。

多项选择题
判断题