用指针变量实现将字符串中的大写字母转换成小写字母
时间: 2024-02-28 09:53:05 浏览: 33
可以使用指针遍历字符串中的每个字符,并且判断是否为大写字母,如果是大写字母则将其转换成小写字母。下面是示例代码:
```c
#include <stdio.h>
#include <ctype.h>
void toLower(char *str) {
while (*str) {
if (isupper(*str)) { // 判断是否为大写字母
*str = tolower(*str); // 转换为小写字母
}
str++; // 指针指向下一个字符
}
}
int main() {
char str[] = "Hello, World!";
toLower(str);
printf("%s\n", str); // 输出转换后的字符串
return 0;
}
```
输出结果为:
```
hello, world!
```
相关问题
用指针变量实现将字符串中的大写字母转换成小写字母 要求使用标准库 使用gets函数实现
好的,下面是实现代码:
```
#include <stdio.h>
#include <ctype.h>
int main() {
char str[100];
printf("请输入字符串:");
gets(str);
char *p = str;
while (*p) {
if (isupper(*p)) {
*p = tolower(*p);
}
p++;
}
printf("转换后的字符串为:%s\n", str);
return 0;
}
```
解释一下代码:首先使用 `gets()` 函数获取用户输入的字符串,然后定义一个指向字符串的指针变量 `p`,并将其初始化为字符串的首地址。接着使用循环遍历字符串,如果当前指向的字符是大写字母,就将其转换成小写字母。最后输出转换后的字符串即可。注意,为了使用 `isupper()` 和 `tolower()` 函数,需要包含头文件 `ctype.h`。
用C语言实现:4.利用指针分别统计一串字符中的大、小写字母的个数。
下面是用C语言实现统计一串字符中的大、小写字母的个数的代码:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[100];
int upper = 0, lower = 0;
char *p;
printf("请输入一串字符:");
fgets(str, 100, stdin);
p = str;
while (*p) {
if (isupper(*p)) {
upper++;
} else if (islower(*p)) {
lower++;
}
p++;
}
printf("大写字母个数:%d\n", upper);
printf("小写字母个数:%d\n", lower);
return 0;
}
```
首先,定义一个字符数组 `str` 存储输入的一串字符,定义两个变量 `upper` 和 `lower` 分别用于统计大写字母和小写字母的个数,定义一个字符指针 `p` 指向字符数组 `str`。
然后,使用 `fgets` 函数从标准输入(键盘)读取一串字符,最多读取 100 个字符,存储到 `str` 数组中。
接着,使用 `while` 循环遍历字符数组 `str` 中的每个字符,如果是大写字母,则 `upper` 自增 1,如果是小写字母,则 `lower` 自增 1。
最后,输出大写字母个数和小写字母个数。
需要注意的是,判断字符是否是大写字母或小写字母需要使用 `ctype.h` 头文件中的 `isupper` 和 `islower` 函数。