问题 单项选择题

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

单项选择题
单项选择题