C语言3、编程统计一个字符串中大写字母、小写字母、数字和其他字符的个数,要求用指针实现。
时间: 2023-12-12 21:58:07 浏览: 104
可以用指针遍历字符串,同时使用计数器统计不同类型字符的个数。具体实现如下:
```c
#include <stdio.h>
void count_chars(const char *str, int *upper, int *lower, int *digit, int *other) {
while (*str) {
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[] = "Hello World! 123";
int upper = 0, lower = 0, digit = 0, other = 0;
count_chars(str, &upper, &lower, &digit, &other);
printf("Uppercase letters: %d\n", upper);
printf("Lowercase letters: %d\n", lower);
printf("Digits: %d\n", digit);
printf("Other characters: %d\n", other);
return 0;
}
```
在 `count_chars` 函数中,使用指针 `str` 遍历字符串。如果当前字符是大写字母,增加 `upper` 的计数器;如果是小写字母,增加 `lower` 的计数器;如果是数字,增加 `digit` 的计数器;否则,增加 `other` 的计数器。需要注意的是,函数参数 `upper`、`lower`、`digit` 和 `other` 都是指针类型,需要通过 `*` 取出指针所指向的变量并增加计数器的值。最后在 `main` 函数中调用 `count_chars` 函数,并输出不同类型字符的个数。
阅读全文