C语言如何把ApPLe变成apple,使用tolower函数、循环遍历字符串、大写字母ASCII转换
在C语言中,将字符串中的所有字母转换为小写可以通过几种不同的方法来实现。使用tolower
函数、循环遍历字符串、利用大写字母和小写字母的ASCII值转换这三种方法是最常用的。接下来,我们将详细介绍其中一种方法,并探讨其他方法的实现细节。
一、使用tolower
函数
C语言的标准库提供了一个函数tolower
,它可以将一个字符转换为小写。我们可以利用这个函数来遍历字符串并将每个字符转换为小写。以下是具体实现:
#include <stdio.h>
#include <ctype.h>
void toLowerCase(char *str) {
while (*str) {
*str = tolower(*str);
str++;
}
}
int main() {
char str[] = "ApPLe";
toLowerCase(str);
printf("%sn", str); // 输出: apple
return 0;
}
在上面的代码中,我们定义了一个函数toLowerCase
,它接受一个字符串指针作为参数。函数通过while
循环遍历字符串中的每个字符,并使用tolower
函数将其转换为小写。
二、循环遍历字符串
除了使用tolower
函数,我们还可以手动遍历字符串,并检查每个字符是否为大写字母,然后将其转换为小写字母。具体实现如下:
#include <stdio.h>
void toLowerCase(char *str) {
while (*str) {
if (*str >= 'A' && *str <= 'Z') {
*str = *str + ('a' - 'A');
}
str++;
}
}
int main() {
char str[] = "ApPLe";
toLowerCase(str);
printf("%sn", str); // 输出: apple
return 0;
}
在这个实现中,我们通过检查每个字符是否在'A'
到'Z'
之间来判断其是否为大写字母。如果是,我们将其转换为小写字母。
三、利用ASCII值转换
除了上述方法,我们还可以利用大写字母和小写字母的ASCII值之间的差异来进行转换。具体实现如下:
#include <stdio.h>
void toLowerCase(char *str) {
for (int i = 0; str[i] != '