【答案】
void chg(char *s)
{
while(*s) /*若当前字符不是字符串结束符,则循环一直进行*/
if(*s=='z'||*s=='Z') /*将当前字母是'z'或者'Z'*/
{
*s-=25; /*则分别将其改成'a'或'A'*/
s++; /*取下一个字母*/
}
else if(*s>='a'&& *s<='y') /*若是小写字母,则改成该字母的下一个字母*/
{
*s+=1;
s++; /*取下一个字母*/
}
else if(*s>='A'&& *s<='Y') /*若是大写字母,则改成该字母的下一个字母*/
{
*s+=1;
s++; /*取下一个字母*/
}
else s++; /*取下一个字母*/
}
【解析】本题考查用指针访问字符串的方法。
这里利用一个while循环对从字符串中逐个获取的字符进行判断,如果当前字符是小写字母'z'或'Z', 则相应地改成'a'或者'A'。如果不是,再接着判断是否是字母,如果是,就改成该字母的下一个字母,否则不作改变。
更多关注: