给定两个字符串,找到两个字符串共有的单词

时间:2016-03-21 06:31:07

标签: c string c-strings

例如:输入:char * str1 ="一切都很好&#34 ;;                   char * str2 ="是&#34 ;;     输出:两个给定字符串中的常用字,返回字符串的二维数组。

implicit none

我正在视觉工作室中调试此代码并且测试失败。它显示了这个"消息:异常代码:C0000005" 。这意味着与内存空间分配有关的错误。那我哪里出错?

1 个答案:

答案 0 :(得分:1)

你有声明

output = (char **)malloc(SIZE*sizeof(char));

在您的计划的两行。

您必须修改此语句,以便为类型为output的双指针char**分配内存,但您还需要为output的每个元素分配内存,如下所示:< / p>

int i;
output = (char **)malloc(SIZE*sizeof(char*));
for (i = 0; i < SIZE; i++)
    output[i] = (char *)malloc(x*sizeof(char));

其中x是所需的大小。

还检查NULL指针返回,例如

if (output[i] == NULL)
    ....