C语言问题 实现一个函数,把一个字符串中的字符从小写转为大写。(不调用C++⼀C 的字符串库函数)

2024-12-02 20:14:29
推荐回答(4个)
回答1:

小写比大写字符大32,只要是小写字符,减去32即可。

#include 

// 将str中的小写字符转大写,并返回
char* toUpper(char*str)
{
    int i = -1;
    while (str[++i])
        if (str[i] >= 'a' && str[i] <= 'z')
            str[i] -= 32;  // 小写比大写字符大32
    return str;
}

int main()
{
    char str[100];
    printf("input a string :");
    gets(str);
    puts(toUpper(str));
    return 0;
}

回答2:

#include 

void to_upper( char *s )
{
    int i=0;
    for( i=0;s[i];i++ )
    {
        if ( s[i] >='a' && s[i] <='z' )
            s[i] += 'A'-'a' ;
    }
}
int main()
{
    char str[]="hello World!" ;
    to_upper( str );
    printf( "%s\n", str );
    return 0;
}

回答3:

char* Upper(char* str)
{
char* p=str;
while(*p)
{
if(*p>='a'&&*p<='z')//判断小写英文字母
*p=*p+''A'-'a';//将小写英文字母转成大写
p++;
}
return str;//返回字符串地址
}

回答4:

void toUpper(char str[],int length){
for(int i=0;i str[i]=str[i]-'a'+'A';

}