c语言中统计两个字符串相同的符号及其各自出现的个数
时间: 2024-10-04 19:00:31 浏览: 5
在C语言中,你可以通过遍历和比较两个字符串的方式来统计它们相同的字符及各自的出现次数。这里是一个简单的示例程序:
```c
#include <stdio.h>
#include <string.h>
void count_chars(const char* str1, const char* str2) {
int len1 = strlen(str1);
int len2 = strlen(str2);
// 确保字符串长度相等,以便于比较
if (len1 != len2) {
printf("Error: Strings are not of equal length.\n");
return;
}
int count[128] = {0}; // 创建一个数组存储ASCII字符计数
for (int i = 0; i < len1; i++) {
char ch = str1[i];
count[ch]++;
// 因为ASCII码范围是0-127,所以只考虑这个范围内的字符
if (ch == str2[i])
count[ch]++; // 如果字符相同,两个计数都加1
}
// 打印结果
for (int i = 0; i < 128; i++) {
if (count[i]) {
printf("Character %d appears %d times in both strings.\n", i, count[i]);
}
}
}
int main() {
char str1[] = "Hello, World!";
char str2[] = "World, Hello!";
count_chars(str1, str2);
return 0;
}
```
在这个程序中,`count_chars`函数接收两个字符串作为输入,计算每个字符在两个字符串中出现的总次数,并检查是否在两个位置上都出现过。如果在两个位置上都出现,则将相应的计数值增加。