用C语言编写一个函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其他字符的个数,在主函数中输入字符串以及输出上述的结果。 在程序中用全局变量。编译和运行程序,分析结果。讨论为什么要用全局变量。
时间: 2025-02-16 16:14:18 浏览: 34
在C语言中,我们可以创建一个函数`count_chars`,它接收一个字符串作为输入,并通过遍历字符串计算字母、数字、空格和其他字符的数量。为了在整个程序中共享这些计数值,我们使用全局变量。以下是这个程序的一个例子:
```c
#include <stdio.h>
#include <ctype.h> // 包含ctype.h库用于处理字符类型
// 定义全局变量
int alpha_count = 0; // 字母计数
int digit_count = 0; // 数字计数
int space_count = 0; // 空格计数
int other_count = 0; // 其他字符计数
void count_chars(char *str) {
while (*str != '\0') { // 遍历字符串直到遇到结束符
if (isalpha(*str)) { // 如果是字母
alpha_count++;
} else if (isdigit(*str)) { // 如果是数字
digit_count++;
} else if (*str == ' ') { // 如果是空格
space_count++;
} else { // 其他字符(包括标点符号等)
other_count++;
}
str++; // 移动指针到下一个字符
}
}
int main() {
char input[100];
printf("请输入一个字符串:");
fgets(input, sizeof(input), stdin); // 从标准输入读取字符串,忽略换行符
// 转换fgets获取的字符串为常量结束符结尾
input[strlen(input)-1] = '\0';
count_chars(input);
printf("字母数量:%d\n", alpha_count);
printf("数字数量:%d\n", digit_count);
printf("空格数量:%d\n", space_count);
printf("其他字符数量:%d\n", other_count);
return 0;
}
阅读全文
相关推荐

















