c语言用指针实现编程实现将输入的字符串中的大写字母转换为小写字母,小写字母转换为大写字母
时间: 2023-08-29 07:12:34 浏览: 149
以下是用指针实现将输入的字符串中的大写字母转换为小写字母,小写字母转换为大写字母的C语言代码:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[100];
char *p = str;
printf("请输入一个字符串:");
fgets(str, 100, stdin);
while (*p != '\0') {
if (isupper(*p)) {
*p = tolower(*p);
} else if (islower(*p)) {
*p = toupper(*p);
}
p++;
}
printf("转换后的字符串为:%s", str);
return 0;
}
```
首先定义一个字符数组 `str` 存储输入的字符串,然后定义一个指向该数组的指针 `p`。使用 `fgets()` 函数从标准输入中读取字符串,并保存到 `str` 数组中。
接着,使用 `while` 循环遍历字符串中的每个字符,判断该字符是否为大写字母或小写字母,如果是大写字母则使用 `tolower()` 函数将其转换为小写字母,如果是小写字母则使用 `toupper()` 函数将其转换为大写字母。
最后,使用 `printf()` 函数输出转换后的字符串。
相关问题
C语言从键盘输入字符串,要求用指针的方式,将字符串中的小写字母变为大写字母,将字符串中的大写字母变为小写字母。
好的,以下是代码实现:
```c
#include <stdio.h>
int main() {
char str[100];
char *p = str;
printf("请输入字符串:");
scanf("%s", p);
while (*p != '\0') { // 遍历字符串
if (*p >= 'a' && *p <= 'z') { // 小写字母变为大写字母
*p = *p - 32;
} else if (*p >= 'A' && *p <= 'Z') { // 大写字母变为小写字母
*p = *p + 32;
}
p++; // 指针指向下一个字符
}
printf("转换后的字符串为:%s", str);
return 0;
}
```
解释一下代码:
1. 定义一个长度为100的`char`类型数组`str`,用于存储输入的字符串;
2. 定义一个指向数组`str`的指针`p`;
3. 输入字符串;
4. 遍历字符串,判断每个字符是否为小写字母或大写字母,如果是小写字母则变为大写字母,如果是大写字母则变为小写字母;
5. 指针指向下一个字符,继续遍历,直到字符串结束;
6. 输出转换后的字符串。
希望能帮到你!
c语言用指针处理,将字符串中大写字母换成小写字母
可以使用指针遍历字符串,对于每一个字符,判断它是否为大写字母,如果是,则将它转换成对应的小写字母。
以下是一个示例代码:
```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` 遍历字符串,判断每一个字符是否为大写字母,并将其转换为小写字母。
阅读全文