C语编写一个函数,由实参传入一串字符,统计这串字符中字母、数字、空格、和其他 字符的个数,在主函数中输入字符串以及输出上述结果。
时间: 2023-06-26 07:10:26 浏览: 42
下面是一个实现了上述功能的 C 语言程序:
```c
#include <stdio.h>
#include <ctype.h>
void count_chars(char *str, int *alpha_count, int *digit_count, int *space_count, int *other_count) {
while (*str) {
if (isalpha(*str)) {
(*alpha_count)++;
} else if (isdigit(*str)) {
(*digit_count)++;
} else if (isspace(*str)) {
(*space_count)++;
} else {
(*other_count)++;
}
str++;
}
}
int main() {
char str[100];
int alpha_count = 0, digit_count = 0, space_count = 0, other_count = 0;
printf("请输入一串字符:");
fgets(str, sizeof(str), stdin);
count_chars(str, &alpha_count, &digit_count, &space_count, &other_count);
printf("字母个数:%d\n", alpha_count);
printf("数字个数:%d\n", digit_count);
printf("空格个数:%d\n", space_count);
printf("其他字符个数:%d\n", other_count);
return 0;
}
```
该程序中的 `count_chars()` 函数接收一个指向字符串的指针和四个整型指针,分别用来记录字母、数字、空格和其他字符的数量。在函数中,通过循环遍历字符串的每个字符,使用 `isalpha()`、`isdigit()`、`isspace()` 函数判断字符属于哪种类型,并将对应的计数器加 1。主函数中调用 `count_chars()` 函数,并输出统计结果。
阅读全文