C - 尝试在 charArray[n][] 中查找 char[] 并记录 n 的值

作者:编程家 分类: arrays 时间:2025-05-15

标题:寻找并记录字符数组在二维字符数组中的位置

在编程中,有时候我们需要在一个二维字符数组中查找特定的字符数组,并记录它在数组中的位置。这种情况可能在文本处理、模式匹配或者游戏开发中出现。让我们来看一个例子,如何使用C语言实现这样的功能。

### 示例代码

下面是一个简单的C语言示例,展示了如何在一个二维字符数组中查找特定的字符数组,并记录其位置的方法:

c

#include

#include

void findAndRecord(char charArray[][100], char target[]) {

int rows = sizeof(charArray) / sizeof(charArray[0]);

int cols = strlen(charArray[0]);

int found = 0;

int rowPos = -1;

int colPos = -1;

for (int i = 0; i < rows; ++i) {

for (int j = 0; j < cols; ++j) {

if (strncmp(charArray[i] + j, target, strlen(target)) == 0) {

found = 1;

rowPos = i;

colPos = j;

break;

}

}

if (found) break;

}

if (found) {

printf("目标字符数组在二维数组中的位置:行 %d,列 %d%

", rowPos, colPos);

} else {

printf("未找到目标字符数组%

");

}

}

int main() {

char charArray[5][100] = {

"Hello World",

"This is a test",

"Searching",

"Target",

"Array"

};

char target[] = "is a";

findAndRecord(charArray, target);

return 0;

}

以上代码定义了一个名为`findAndRecord`的函数,该函数接收一个二维字符数组`charArray`和一个目标字符数组`target`作为参数。函数通过双重循环遍历二维数组,在找到目标字符数组时记录其位置,并输出行和列的索引。在`main`函数中,我们定义了一个二维字符数组`charArray`和一个目标字符数组`target`,并调用`findAndRecord`函数来查找目标字符数组在二维数组中的位置。

通过这样的方法,我们可以在C语言中找到特定字符数组在二维字符数组中的位置,并记录下它的行和列索引。这在处理文本数据或实现类似游戏中的关键字搜索等场景中非常有用。