c语言编写从键盘输入字符串,要求用指针方式,将字符串中大写字母变小写小写字母变大写
时间: 2024-02-27 18:52:09 浏览: 75
好的,下面是代码实现:
```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
#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` 遍历字符串,判断每一个字符是否为大写字母,并将其转换为小写字母。
阅读全文