Ha593
2022-06-23 23:38
采纳率: 95%
浏览 26

请问输出的数组哪里出现了错误

输出的不是整型数组

#include
using namespace std;

int* MaxC(char* B, int length)
{
  int maxc[6];

  maxc[0]= NULL;//使maxc数组的数字的下标从1开始
  maxc[1] = 0;
  maxc[2] = 0;
  int i;//模式串数组B的下标
  int j = 3;//数组maxc的下标
  for (i = 3; i < length; i++)
  {
    int max_len = i - 2;

    int len;
    for (len = max_len; len > 0; len--)
    {
      int k = 1;//指向前缀的第一个字母,初始值
      int l = 2;//指向后缀的第一个字母,初始值

      for (k = 1; k <= len; k++)
      {
        if (B[k] == B[l])
        {
          l++;
        }
        else
        {
          break;//匹配失败,跳出循环
        }
      }

      if (k == len+1)
      {
        maxc[j] = len;
        break;
      }
    }

    if (len == 0)
    {
      maxc[j] = 0;
    }

    j++;
  }

  return maxc;
}

int main()
{
  char A[] = "ABTPDABDABDDABBE";//主串
  char B[] = " ABDD";//模式串

int lengthB=strlen(B);

cout<<"strlen(B)="<<lengthB;

int* maxc;
maxc=MaxC(B,lengthB);

return 0
}

img

图片转代码服务由CSDN问答提供 功能建议

 StrLEn(B)=5
 0054F8D4
  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

2条回答 默认 最新

相关推荐 更多相似问题