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]){
似乎是問題,但我可能是錯的。有任何想法嗎?提前致謝。