串连接问题
status Concat(HString *pT ,HString *pS1,HString *pS2){ //将串s1和s2和为一个串Tint i; //循环三控制变量定义
char *p,*q,*r; //字符指针变量定义
if(pT->ch) free(pT->ch); //将T串原有的数据释放
if(!(pT->ch=(char *)malloc((pS1->length+pS2->length)*sizeof(char))))//为T重新分配一个长度等于s1和s2长度之和的新空间
exit(OVERFLOW); //分配失败
p=pT->ch;
q=pS1->ch;
r=pS2->ch;
for(i=0;i<pS1->length;i++) //先将s1的字符全赋到T中
p=q;
for(i=0;i<pS2->length;i++) //将s2的字符也赋进去
p[pS1->length+i]=r;
pT->length=pS1->length+pS2->length; //修改T串长度
return (pT);
}
这段语句什么地方错了啊帮下忙啊