编一个函数fun(char s【】),其功能是把字符串s中的小写字母转换成大写字母,其他字母不变

编一个函数fun(char s【】),谢谢啦!
2024-12-22 16:55:10
推荐回答(3个)
回答1:

void fun(char s[])
{
char* p = s;/*等价于char *p = &s[0];,指针指向字符串中第一个字符;*/
while(*p)/*等价于while(*p != '\0'),如果遇到结束符立即退出循环;*/
{
if(*p <= 'z' && *p >= 'a') /*当指针指向小写字母时;*/
*p -= 32;/*ASCII码中小写字母位于对应大写字母后32个位置,所以小写字母的ASCII码减32即得对应的大写字母的ASCII码;*/
++p;/*指针自增指向下一个待处理的字符。*/
}
}
====
[原创回答团]

回答2:

干嘛不用strupr(const char *)函数呢
char str[20]="abc123";
printf("%s\n",strupr(str));
输出ABC123

回答3:

初学者吧,很简单的,上面两种都行