串的初始化问题
#include<stdio.h>#define MAX 10
typedef struct{
char data[MAX];
int length;
}String;
int Pattern(String a,String b)
{
int i=0,j=0;
while(i<a.length-b.length)
{
while(j<b.length&&a.data[i]==b.data[i])
{
i++;
j++;
}
if(j<b.length)
{
i=i-j+1;
j=0;
}
else
return i-j;
}
return -1;
}
void main()
{
int a=0;
String p={'a','b','c',d'','e',5};
String q={'c','d',2};
a=Pattern(p,q);
printf("首次出现的位置是:\n");
printf("%d\n",a);
}
这里对p,q串的初始化错了吗?结果为什么不对?请高人指点!!!