用C语言编写一个判断字符串子串与一个字符串数组中的元素有无相同的函数
时间: 2023-05-20 16:00:43 浏览: 118
C语言中判断两数组中是否有相同的元素
可以使用C语言中的strstr函数来判断字符串子串是否存在于一个字符串中,然后遍历字符串数组,依次比较每个元素是否与子串相同即可。以下是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
int isSubstringInArray(char* str, char** arr, int size) {
int i;
for (i = 0; i < size; i++) {
if (strstr(arr[i], str) != NULL) {
return 1;
}
}
return 0;
}
int main() {
char* str = "hello";
char* arr[] = {"world", "hello world", "hi", "hello"};
int size = sizeof(arr) / sizeof(char*);
if (isSubstringInArray(str, arr, size)) {
printf("Substring exists in array\n");
} else {
printf("Substring does not exist in array\n");
}
return 0;
}
```
这个函数接受一个字符串和一个字符串数组,以及数组的大小作为参数。它使用strstr函数来判断字符串子串是否存在于数组中的每个元素中,如果存在则返回1,否则返回0。在主函数中,我们可以测试这个函数是否能够正确地判断子串是否存在于数组中。
阅读全文