动态编辑距离出错

时间:2018-05-04 13:42:24

标签: c coredump edit-distance

此计划的目标是计算文件的每个单词" correctme.txt'内部的最小编辑距离' dictionary.txt'。 我不知道为什么,但是我的代码在第一次(内部)后进入核心转储(Segmentation Fault)。功能' dynamic_edit_distance'是正确的,因为我已经测试过了。 与' read_quote'相同和' read_dictionary'。 为什么会出现这个错误?

#define QUOTE_SIZE 100
#define DICTIONARY_SIZE 1000000

int main(){
  long i, j, min, a;
  char** quote = read_quote("correctme.txt", QUOTE_SIZE);
  char** dictionary = read_dictionary("dictionary.txt", DICTIONARY_SIZE);


  for(i = 0; i < QUOTE_SIZE; i++){
    min = QUOTE_SIZE;
    for(j = 0; j < DICTIONARY_SIZE; j++){
      dynamic_edit_distance(quote[i], dictionary[j]);
      min = a < min ? a : min;
    }
    printf("%s\tMinimum distance: %ld", quote[i], min);
  }

  //free memory

  for(i = 0; i < DICTIONARY_SIZE; i++)
    free(dictionary[i]);
  free(dictionary);
  for(i = 0; i < QUOTE_SIZE; i++)
    free(quote[i]);
  free(quote);
}

0 个答案:

没有答案