C语言编程统计一个字符串中大写字母、小写字母、数字和其他字符的个数,要求用指针实现。
时间: 2023-12-12 15:51:54 浏览: 128
C语言统计字符串中字母、数字、空格和其他字符的个数
下面是一个使用指针实现统计字符串中大写字母、小写字母、数字和其他字符个数的 C 语言代码示例:
```c
#include <stdio.h>
void count_chars(char *str, int *upper, int *lower, int *digit, int *other) {
while (*str != '\0') {
if (*str >= 'A' && *str <= 'Z') {
(*upper)++;
} else if (*str >= 'a' && *str <= 'z') {
(*lower)++;
} else if (*str >= '0' && *str <= '9') {
(*digit)++;
} else {
(*other)++;
}
str++;
}
}
int main() {
char str[100];
int upper = 0, lower = 0, digit = 0, other = 0;
printf("请输入字符串:");
fgets(str, 100, stdin);
count_chars(str, &upper, &lower, &digit, &other);
printf("大写字母个数:%d\n", upper);
printf("小写字母个数:%d\n", lower);
printf("数字个数:%d\n", digit);
printf("其他字符个数:%d\n", other);
return 0;
}
```
在 `count_chars` 函数中,我们使用了指针来修改传入的参数。`str` 是指向字符串的指针,而 `upper`、`lower`、`digit` 和 `other` 都是指向整型变量的指针。在函数中,我们使用指针来统计字符串中的各种字符个数,并将结果保存在对应的整型变量中。
在 `main` 函数中,我们使用 `fgets` 函数获取用户输入的字符串,并将字符串传递给 `count_chars` 函数进行统计。最后,我们输出各种字符的个数。
注意:在使用 `fgets` 函数获取用户输入的字符串时,需要注意字符串末尾会自动添加一个换行符,因此需要在字符串中去掉换行符。这里我们可以使用下面的代码去掉换行符:
```c
str[strlen(str) - 1] = '\0';
```
阅读全文