即兴表演233 2020-04-27 15:12 采纳率: 0%
浏览 135
已结题

初学数据结构,一个简单的串模式匹配。不知道为什么编译没问题但是输出没有结果,求大神指点

#include
typedef struct //结构体的定义
{char *ch; //指向动态分配存储空间首地址的字符指针
int length;
}Str;
int inde(Str str,Str substr)
{
int i=1; //在这里串从数组下标1位置开始存储(为了返回零值)
int j=1;
int k=1;

while(i<=str.length&&j<=substr.length)
{if(str.ch[i]==substr.ch[j])
{i++;
j++;
}
else
{j=1;
i=++k;

}

}
if(j>substr.length) //因为j初始值为1,所以匹配完j比lsubstr的长度长

return k;
else
return 0;

}

int main()
{
Str str,substr;
str.ch=" ababcabcacbab";
substr.ch=" abcac";
printf("%d",inde(str,substr));

}

  • 写回答

1条回答 默认 最新

  • 穆暖阳 2020-04-27 16:49
    关注

    我运行你的东西给我返回一个1

    评论

报告相同问题?