开头声明了包含的string.h,但是里边的函数例如strlen() strcmp()都不能用,为什么啊。。。。

这是数据结构串里的代码。#defineMAX50typedefunsignedcharHString[MAX+1];typedefintStatus;#include<s... 这是数据结构 串 里的代码。
#define MAX 50
typedef unsigned char HString[MAX + 1];
typedef int Status;
#include <string.h>
#include <stdio.h>
void SubString(HString Sub,HString S,int pos,int len)
{
int i;
for(i=pos-1;i<pos-1+len;i++)
{
Sub[i]=S[i];
}
Sub[i]='\0';
}
Status StrCompare(HString Sub,HString T)
{
int a;
a=strcmp(Sub,T);
return a;
}
Status Index(HString S,HString T,int pos)
{
int n,m,i,a;
HString Sub;
if(pos > 0)
{
n=15;//strlen(S);
m=5;//strlen(T);
i=pos;
while(i<=n-m+1)
{
SubString(Sub,S,i,m);
a=StrCompare(Sub,T);
if (a != 0) i++;
else return i;
}//while
}//if
}
void main()
{
int i;
HString S="beijingzhongguo",T="zhong";
i=Index(S,T,1);
printf("%d",i);
}
展开
 我来答
pengyou42
2013-12-18 · TA获得超过150个赞
知道答主
回答量:190
采纳率:0%
帮助的人:119万
展开全部
strcmp 的参数是两个char*,而你的参数是unsigned char
你这样改 typedef char HString[MAX + 1];
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式