选择题   有以下程序,程序中库函数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(a1); printf('%s\n' ,s1);
    }
    程序运行后的输出结果是______。
 
【正确答案】 C
【答案解析】循环语句while(p[i]),依次从字符串的首字符开始处理,若处理到了最后一个字符即p[i]='\0'则停止。“p[i-1]=p[i-1]='a'+'A';”实现字符的替换。