封装子函数实现统计一个字符串中出现不同字符的个数,用C语言基础知识实现
时间: 2024-04-16 14:26:57 浏览: 139
好的,以下是用C语言实现统计一个字符串中出现不同字符的个数的代码:
```c
#include <stdio.h>
int count_unique_chars(char* string) {
int count = 0;
int char_set[256] = {0}; // 用于记录字符出现的次数的数组
// 遍历字符串中的每个字符
for (int i = 0; string[i] != '\0'; i++) {
char_set[(int)string[i]]++; // 统计字符出现的次数
}
// 统计不同字符的个数
for (int i = 0; i < 256; i++) {
if (char_set[i] > 0) {
count++;
}
}
return count;
}
int main() {
char string[] = "abracadabra";
int unique_count = count_unique_chars(string);
printf("Unique character count: %d\n", unique_count);
return 0;
}
```
在这个例子中,我们首先定义了一个长度为256的整型数组`char_set`,用于记录每个字符出现的次数。然后,我们遍历字符串中的每个字符,将其对应的数组元素加1。最后,我们再次遍历数组,统计出现次数大于0的元素个数,即为不同字符的个数。
在主函数中,我们定义了一个测试字符串`string`,并调用`count_unique_chars`函数来获取不同字符的个数,并输出结果。
希望对您有所帮助!如果您还有其他问题,请随时提问。
阅读全文