c语言中大小写字母如何转换
时间: 2024-09-19 18:09:08 浏览: 40
C语言-大小写字母转换.docx
5星 · 资源好评率100%
在C语言中,没有内置函数可以直接将整个字符串的小写转换为大写或反之,但你可以通过循环遍历字符串并利用ASCII码来手动实现这个功能。
对于小写转大写,可以检查每个字符的ASCII值是否小于 'a' 或 'A'(对应小写字母的起始位置),如果是,则加上 'A' - 'a' 的差值:
```c
#include <ctype.h>
#include <stdio.h>
char to_upper(char c) {
if (islower(c)) {
return c + ('A' - 'a');
}
return c;
}
void convert_to_upper(char *str) {
for (int i = 0; str[i] != '\0'; i++) {
str[i] = to_upper(str[i]);
}
}
int main() {
char str[] = "hello world";
convert_to_upper(str);
printf("%s\n", str); // 输出 "HELLO WORLD"
}
```
对于大写转小写,类似地,可以检查字符是否大于 'Z' 或 'z',然后加上 'a' - 'A':
```c
char to_lower(char c) {
if (isupper(c)) {
return c - ('A' - 'a');
}
return c;
}
```
阅读全文