c语言用指针处理,将字符串中大写字母换成小写字母
时间: 2024-02-09 13:09:17 浏览: 26
可以使用指针遍历字符串,对于每一个字符,判断它是否为大写字母,如果是,则将它转换成对应的小写字母。
以下是一个示例代码:
```c
#include <stdio.h>
void toLowerCase(char* str) {
char* p = str;
while (*p != '\0') {
if (*p >= 'A' && *p <= 'Z') {
*p += ('a' - 'A');
}
p++;
}
}
int main() {
char str[] = "Hello, World!";
printf("Original string: %s\n", str);
toLowerCase(str);
printf("After conversion: %s\n", str);
return 0;
}
```
输出:
```
Original string: Hello, World!
After conversion: hello, world!
```
注意,在函数 `toLowerCase` 中,我们使用指针 `p` 遍历字符串,判断每一个字符是否为大写字母,并将其转换为小写字母。
相关问题
c语言编写从键盘输入字符串,要求用指针方式,将字符串中大写字母变小写小写字母变大写
好的,下面是代码实现:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[100];
char *p = str;
printf("请输入字符串:");
scanf("%s", str);
while (*p != '\0') {
if (isupper(*p)) {
*p = tolower(*p);
} else if (islower(*p)) {
*p = toupper(*p);
}
p++;
}
printf("转换后的字符串为:%s\n", str);
return 0;
}
```
这个程序首先从键盘输入一个字符串,然后用指针的方式遍历整个字符串,对于每个字符,如果是大写字母就用 `tolower()` 函数将其转换成小写字母,如果是小写字母则用 `toupper()` 函数将其转换成大写字母。最后输出转换后的字符串。
注意:这个程序只能处理 ASCII 码表中的字母,对于其他字符可能会有问题。
用C语言将一个字符串中的小写字母转换成对应的大写字母
可以使用 C 语言中的标准库函数 `toupper()` 来将小写字母转换成大写字母,其原型为:
```c
int toupper(int c);
```
其中参数 `c` 是要转换的字符,函数返回值是转换后的字符。要将一个字符串中的所有小写字母都转换成大写字母,可以使用以下代码:
```c
#include <stdio.h>
#include <ctype.h>
void str_toupper(char *str) {
while (*str) {
*str = toupper(*str);
str++;
}
}
int main() {
char str[] = "Hello, world!";
str_toupper(str);
printf("%s\n", str);
return 0;
}
```
以上代码定义了一个名为 `str_toupper()` 的函数,将传入的字符串参数中的所有小写字母都转换成大写字母。在 `main()` 函数中,我们定义了一个字符串 `str`,并调用 `str_toupper()` 函数将其转换成大写字母,最终输出结果为:
```
HELLO, WORLD!
```
注意,由于 C 语言中的字符串是以 '\0' 结尾的字符数组,因此在遍历字符串时需要使用指针,而不能直接使用数组下标。