0
我正在构建一个从左到右搜索单词搜索矩阵中的一个单词的函数,并且我正在中止(核心转储)。无法找出这个放弃(核心转储)在C
功能:
void lefttoright(int rowcol, char **matrix, char* find){
int i, j, k, q, len, count = 0;
len = strlen(find)+1;
for (i = 0; i < rowcol; i++){
for (j = 0; j < rowcol; j++){
char* correct = malloc(sizeof(char) * 20);
if (matrix[i][j] == find[0]){
for (q = j; q < rowcol; q++){
for (k = 0; k <= len; k++){
if (matrix[i][q] == find[k]){
correct[k] = matrix[i][q];
}
}
}
printf("%s\n", correct);
if (strcmp(correct, find) == 0){
count++;
free(correct);
}
}
else continue;
}
}
printf("%d", count);
}
通过打印语句我发现
if (matrix[i][j] == find[0]){
似乎是问题,但我可能是错的。有任何想法吗?提前致谢。