指针统计各类字符字数C语言
时间: 2024-12-19 21:10:26 浏览: 11
在C语言中,如果你想统计字符串中各字符类型的字数,可以使用指针和循环结构。你可以创建一个字符计数数组,每个元素对应一种特定的字符类型(如ASCII码表中的字母、数字、空格等)。然后遍历输入的字符串,通过指针逐个检查字符并更新相应的计数。
以下是一个简单的示例:
```c
#include <stdio.h>
#include <ctype.h>
// 定义字符类别及其对应的计数
char counts[128] = {0}; // ASCII码范围内的所有字符
void count_chars(char *str) {
while (*str != '\0') { // 遍历字符串直到遇到结束符'\0'
if (isalpha(*str)) { // 如果是字母
counts[*str - 'a']++; // 对小写字母,加一到'a'的索引位置;对大写字母,加一到'A'的索引位置
} else if (isdigit(*str)) { // 如果是数字
counts[*str - '0']++;
} else if (*str == ' ') { // 如果是空格
counts[' ']++;
}
str++; // 移动指针到下一个字符
}
}
int main() {
char input[] = "Hello, 123 World!";
count_chars(input);
for (int i = 0; i < 128; i++) {
if (counts[i]) {
printf("'%c': %d\n", i, counts[i]); // 打印非零计数值的字符及其数量
}
}
return 0;
}
```
在这个例子中,`count_chars`函数会统计输入字符串`input`中各字符类型的出现次数,并存储在`counts`数组中。主函数最后打印出结果。
阅读全文