c语言编写一个子函数,判断所输入字符串是否含有相同字符
时间: 2024-12-21 14:30:52 浏览: 4
在 C 语言中,你可以创建一个名为 `hasDuplicateChars` 的子函数,该函数接收一个字符串作为输入,并通过遍历字符串检查是否存在重复的字符。下面是一个简单的实现示例:
```c
#include <stdio.h>
#include <stdbool.h> // 引入布尔类型
// 函数声明
bool hasDuplicateChars(const char *str);
int main() {
const char *input = "hello"; // 测试字符串
if (hasDuplicateChars(input)) {
printf("The string contains duplicate characters.\n");
} else {
printf("The string does not contain any duplicate characters.\n");
}
return 0;
}
// 实现判断是否有重复字符的函数
bool hasDuplicateChars(const char *str) {
int char_count[256] = {0}; // 初始化一个大小为ASCII码范围的数组,用于存储每个字符出现的次数
while (*str != '\0') { // 遍历字符串
char_count[*str]++;
str++;
}
for (int i = 0; i < 256; i++) {
if (char_count[i] > 1) { // 如果发现某个字符计数大于1,则有重复
return true;
}
}
return false; // 没有找到重复字符,返回false
}
```
这个程序会计算字符串中每个字符出现的次数,如果存在重复字符,函数就会返回 `true`,否则返回 `false`。
阅读全文