选择题   有以下程序,程序中库函数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-i]=p[i-1]-'a'+'A';
          i++;
      }
    }
    main()
    {  char s1[100]='ab cd EFG!';
      fun(s1);
      printf('%s\n',s1);
    } 
程序运行后的输出结果是______。
 
【正确答案】 D
【答案解析】[考点] 字符串、函数递归、标识符的作用域和存储类 函数fun(char*p)的功能是如果p[i]指向的字符为空字符并且其前一个字符是小写字母,则把小写字母变成大写字母,所以在主函数中,执行fun(s1)后,小写字母b,d都变为大写字母。