用C语言编写一个判断字符串子串与一个字符串数组中的元素有无相同的函数,忽略大小写,返回数组下标
时间: 2023-05-20 16:00:51 浏览: 112
C语言输出字符串的子串
以下是一个示例代码,可以实现您所需的功能:
```c
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int find_substring(char *str, char **arr, int len) {
int i, j;
for (i = 0; i < len; i++) {
if (strstr(arr[i], str) != NULL) {
return i;
}
for (j = 0; arr[i][j] != '\0'; j++) {
arr[i][j] = tolower(arr[i][j]);
}
if (strstr(arr[i], str) != NULL) {
return i;
}
}
return -1;
}
int main() {
char *arr[] = {"Hello", "world", "CSDN", "AI"};
char *str = "csdn";
int index = find_substring(str, arr, 4);
if (index != -1) {
printf("Found at index %d\n", index);
} else {
printf("Not found\n");
}
return 0;
}
```
该函数接受一个字符串和一个字符串数组作为参数,然后在数组中查找是否存在与该字符串相同的子串。在查找之前,该函数会将数组中的所有字符串转换为小写字母,以便忽略大小写。如果找到了相同的子串,则返回该子串在数组中的下标,否则返回-1。
阅读全文