C语言在一个数组中查找另一个数组是否存在
时间: 2024-10-14 16:02:55 浏览: 26
C语言二维数组中的查找的实例
在C语言中,查找一个数组是否包含另一个数组通常涉及到两步操作:遍历和比较。这里是一个简单的示例,假设我们有一个`mainArray`和一个`targetArray`,我们想要检查`targetArray`是否全部存在于`mainArray`中:
```c
#include <stdio.h>
#include <stdbool.h>
#define ARRAY_SIZE 10
bool searchSubArray(int mainArray[ARRAY_SIZE], int targetArray[], int targetLength) {
for (int i = 0; i < ARRAY_SIZE; i++) {
bool found = true;
for (int j = 0; j < targetLength && found; j++) {
if (mainArray[i] != targetArray[j]) {
found = false;
break;
}
}
if (found) {
return true;
} // 如果找到目标数组的一部分,直接返回true
}
return false; // 没有找到目标数组的所有元素,返回false
}
int main() {
int mainArray[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int targetArray[] = {5, 6, 7};
int targetLength = sizeof(targetArray) / sizeof(targetArray[0]);
if (searchSubArray(mainArray, targetArray, targetLength)) {
printf("Target array is present in the main array.\n");
} else {
printf("Target array is not present in the main array.\n");
}
return 0;
}
```
在这个例子中,`searchSubArray`函数会逐个检查`mainArray`中的元素是否匹配`targetArray`中的元素。如果找到所有元素,就返回`true`;反之则返回`false`。
阅读全文