c语言如何判断一个字符串是否在已知数组中
时间: 2024-12-11 13:30:19 浏览: 12
c++ 连接两个字符串实现代码 实现类似strcat功能
在C语言中,判断一个字符串是否在一个已知字符数组中,通常会涉及到线性搜索。以下是一种基本的方法:
```c
#include <stdio.h>
#include <string.h> // 包含strlen()函数
// 定义字符数组
char known_array[] = {"apple", "banana", "cherry", "date"};
// 待查找的字符串
const char* search_string = "cherry";
// 定义字符串长度
size_t search_length = strlen(search_string);
// 搜索函数
int is_in_array(const char* array, const char* target, size_t len) {
for (size_t i = 0; i < sizeof(known_array) / sizeof(array[0]); i++) {
if (strncmp(array + i, target, len) == 0) { // strncmp比较字符串,忽略大小写
return 1; // 找到了
}
}
return 0; // 没找到
}
int main() {
if (is_in_array(known_array, search_string, search_length)) {
printf("\"%s\" 在数组中.\n", search_string);
} else {
printf("\"%s\" 不在数组中.\n", search_string);
}
return 0;
}
```
这个程序通过遍历`known_array`,逐个比较每个元素的前`search_length`个字符是否与`search_string`相等来进行查找。如果找到匹配的,返回1;否则返回0。
阅读全文