编一个函数fun(char s【】),其功能是把字符串s中的小写字母转换成大写字母,其他字母不变
3个回答
展开全部
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;/*指针自增指向下一个待处理的字符。*/
}
}
====
[原创回答团]
{
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;/*指针自增指向下一个待处理的字符。*/
}
}
====
[原创回答团]
参考资料: 原创
展开全部
干嘛不用strupr(const char *)函数呢
char str[20]="abc123";
printf("%s\n",strupr(str));
输出ABC123
char str[20]="abc123";
printf("%s\n",strupr(str));
输出ABC123
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
初学者吧,很简单的,上面两种都行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询