请问各路大神,t怎么总是0,问题出在哪:
#include <stdio.h>
#include <malloc.h>
#define CHUNKSIZE 1
typedef struct Chunk
{
char ch[CHUNKSIZE];
struct Chunk *next;
}Chunk,*LinkList;
void CreateChunk_L(LinkList &L,int n)
{
LinkList p,q;
L=(LinkList)malloc(sizeof(Chunk));
q=L;
L->next=NULL;
for(int i=n;i>0;--i)
{
p=(LinkList)malloc(sizeof(Chunk));
scanf("%c",&p->ch);
q->next=p;
p->next=NULL;
q=p;
}
}
int Index(LinkList &L,LinkList &S,int pos)
{
LinkList p=L->next,q=S->next;
while(p&&q)
{
int i,j=0;
for(i=pos;i>0;--i)
p=p->next;
while(p&&q)
{
if(!(p->ch==q->ch))
{
if(p->next)
{
p=p->next;
++j;
}
else
{
return 0;
break;
}
}
else
{
if(q->next)
q=q->next;
else
{
return j;
break;
}
}
}
}
}
void main()
{
int t;
LinkList S,T;
CreateChunk_L(S,8);
CreateChunk_L(T,3);
t=Index(S,T,1);
printf("%d",t);
}