当我运行程序时出现运行时错误,但在使用调试器时却没有

用户名

我正在尝试制作一个ac / c ++程序,其中该程序接受带有多个单词的txt文件,每行一个,并找到带有特定单词的编辑距离(也称为levenshtein距离)。

我有一个奇怪的问题。

在代码块中运行几个单词后,我的代码遇到了运行时错误。当我使用代码块调试器时,它调试良好。

我一直在四处张望,发现未初始化的变量可能是个问题。但是,每当我在调用函数的行中注释时minDistance count[i]=minDistance(word,lines[i]);,代码运行良好,并打印出文件中的所有单词。所以我猜这不是问题。

任何帮助都会很棒。谢谢你。

以下是代码。

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include<iostream>


using namespace std;
static int minDistance(char* word1, char* word2)
{
    const int l1 = strlen(word1);
    const int l2 = strlen(word2);
    int i=0,j=0;
    int **d = new int*[l2 + 1];
    for(i=0;i<l1+1;++i)
        d[i]=new int[l1+1];

    // the edit distance between an empty string and the prefixes of
    // word2
    for (i = 0; i < l2 + 1; i++) {
        d[0][i] = i;
    }

    // the edit distance between an empty string and the prefixes of
    // word1
    for (j = 0; j < l1 + 1; j++) {
        d[j][0] = j;
    }

    for (i = 1; i < l1 + 1; i++) {
        for (j = 1; j < l2 + 1; j++) {
            if (word1[i - 1] == word2[j - 1]) {
                d[i][j] = d[i - 1][j - 1];
            } else {
                d[i][j] = min(min(1 + d[i][j - 1], 1 + d[i - 1][j]),
                1 + d[i - 1][j - 1]); // min of insertion,
                // deletion, replacement
            }
        }
    }

    return d[l1][l2];
}

void lines()
{
  int i=0;
  char * lines[10];
  int count[10];
  char word[]="book";
  FILE *file_handle = fopen ("wordlist.txt", "r");

  for (i =0; i < 5; ++i)
    {
    lines[i] = (char*)malloc (128); /* allocating a memory slot of 128 chars */
    fscanf (file_handle, "%s", lines[i]);
    count[i]=minDistance(word,lines[i]);
    cout<<lines[i]<<" ";
    cout<<count[i]<<endl;
    }

  for (i =0; i < 5; ++i)
    free (lines[i]);

}
int main (int argc, char *argv[])
{
  lines();
  return 0;
}
a_pradhan

注意代码中的行:

int **d = new int*[l2 + 1];
for(i=0;i<l1+1;++i)

您正在为分配内存(l2 + 1)int*并且i从开始循环0 to (l1 + 1)因此,如果l2 < l1,您正在访问尚未分配的内存。

也不要混合使用C ++和C。要么使用C,要么坚持使用C ++。如评论中所述,如果您可以使用C ++,请使用std::vectorstd::string-将减少您的头痛。还可以使用C ++的IO类执行文件IO,并始终关闭您打开的任何文件。(即在C中使用fclose(file_ptr))。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

当我在单词之间留出空格时,在运行时出现错误

来自分类Dev

Verilog代码按照我的预测在仿真中运行,但在FPGA中却没有

来自分类Dev

指定的强制转换在运行时无效,但在调试器中无效

来自分类Dev

服务器在尝试scp时给我一个权限错误,但在ssh时却没有

来自分类Dev

为什么有些终端从终端运行时使用“&”关闭了某些程序,而有些终端却没有呢?

来自分类Dev

发布到我的网站时出现内部服务器错误,但是删除帖子时却没有

来自分类Dev

当我运行代码时,我遇到了段错误,但是当调试器运行它时,它说没有问题。

来自分类Dev

程序运行时如何运行调试器命令?

来自分类Dev

在Excel VBA中,在实时运行循环时出现错误1004,当我使用调试器逐行跳过时,它工作正常

来自分类Dev

当我运行程序时,出现内存不足错误

来自分类Dev

为什么我的代码运行时始终出现“对象'Range'失败”错误,但我将此代码附加到按钮时却没有出现?

来自分类Dev

为什么当我使用重载的赋值运算符时却出现错误,却没有使用编译器提供的运算符?

来自分类Dev

当我在单词之间留出空格时,在运行时出现错误

来自分类Dev

运行程序时出现错误

来自分类Dev

为什么有些终端从终端运行时使用“&”关闭了某些程序,而有些终端却没有呢?

来自分类Dev

当我的python ddos脚本运行时出现错误

来自分类Dev

指定的强制转换在运行时无效,但在调试器中无效

来自分类Dev

当我运行程序时出现运行时错误,但在使用调试器时却没有

来自分类Dev

服务器在尝试scp时给了我一个权限错误,但在ssh却没有给我一个权限错误

来自分类Dev

我将一个新程序移到bin文件夹中,但是尝试运行该程序时却没有任何反应

来自分类Dev

运行程序时出现未知错误

来自分类Dev

运行程序时出现逻辑错误

来自分类Dev

使用自定义比较器排序时出现运行时错误

来自分类Dev

当我在eclipse上借助appium运行程序时,出现会话未创建错误

来自分类Dev

为什么在运行ASP.NET站点时在IE中出现异常,但在Chrome中却没有?

来自分类Dev

为什么有时当我在终端中运行程序时,却无法在终端中运行?

来自分类Dev

在模拟器上执行应用程序时出现 Android 运行时错误

来自分类Dev

运行程序时出现分段错误

来自分类Dev

为什么 Pycharm 在调试程序时显示 AttributeError: module 'numbers' has no attribute 'Number',但运行它却没有发生错误?

Related 相关文章

  1. 1

    当我在单词之间留出空格时,在运行时出现错误

  2. 2

    Verilog代码按照我的预测在仿真中运行,但在FPGA中却没有

  3. 3

    指定的强制转换在运行时无效,但在调试器中无效

  4. 4

    服务器在尝试scp时给我一个权限错误,但在ssh时却没有

  5. 5

    为什么有些终端从终端运行时使用“&”关闭了某些程序,而有些终端却没有呢?

  6. 6

    发布到我的网站时出现内部服务器错误,但是删除帖子时却没有

  7. 7

    当我运行代码时,我遇到了段错误,但是当调试器运行它时,它说没有问题。

  8. 8

    程序运行时如何运行调试器命令?

  9. 9

    在Excel VBA中,在实时运行循环时出现错误1004,当我使用调试器逐行跳过时,它工作正常

  10. 10

    当我运行程序时,出现内存不足错误

  11. 11

    为什么我的代码运行时始终出现“对象'Range'失败”错误,但我将此代码附加到按钮时却没有出现?

  12. 12

    为什么当我使用重载的赋值运算符时却出现错误,却没有使用编译器提供的运算符?

  13. 13

    当我在单词之间留出空格时,在运行时出现错误

  14. 14

    运行程序时出现错误

  15. 15

    为什么有些终端从终端运行时使用“&”关闭了某些程序,而有些终端却没有呢?

  16. 16

    当我的python ddos脚本运行时出现错误

  17. 17

    指定的强制转换在运行时无效,但在调试器中无效

  18. 18

    当我运行程序时出现运行时错误,但在使用调试器时却没有

  19. 19

    服务器在尝试scp时给了我一个权限错误,但在ssh却没有给我一个权限错误

  20. 20

    我将一个新程序移到bin文件夹中,但是尝试运行该程序时却没有任何反应

  21. 21

    运行程序时出现未知错误

  22. 22

    运行程序时出现逻辑错误

  23. 23

    使用自定义比较器排序时出现运行时错误

  24. 24

    当我在eclipse上借助appium运行程序时,出现会话未创建错误

  25. 25

    为什么在运行ASP.NET站点时在IE中出现异常,但在Chrome中却没有?

  26. 26

    为什么有时当我在终端中运行程序时,却无法在终端中运行?

  27. 27

    在模拟器上执行应用程序时出现 Android 运行时错误

  28. 28

    运行程序时出现分段错误

  29. 29

    为什么 Pycharm 在调试程序时显示 AttributeError: module 'numbers' has no attribute 'Number',但运行它却没有发生错误?

热门标签

归档