{while(*s1!='\0');
s1++;
for(;*s1=*s2;s1++,s2++);
}
void main()
{char *s1="rewr";
char *s2="fdsa";
strcat(s1,s2);}
----------------解决方案--------------------------------------------------------
你的数组声明有问题,char *s1="rewr";char *s2="fdsa";这样声明s1和s2长度都只有5
所以联接时会出问题.
----------------解决方案--------------------------------------------------------
谢谢你,应该怎样定义呢?麻烦您了,帮我一下,写一个完整的行吗?
----------------解决方案--------------------------------------------------------
while(*s1!='\0');后是没有;的拉
void strcat1(char *s1,char *s2)
{
while(*s1!='\0')
s1++;
for(;*s1=*s2;s1++,s2++);
}
void main()
{char *s1,temp[50]="qwer";
char *s2="fdsa";
s1=temp;
printf("%s",s1);puts("\n");
printf("%s",s2);puts("\n");
s1=temp;
strcat1(s1,s2);
printf("%s",s1);
puts("\n");
}
[此贴子已经被作者于2007-7-29 14:03:28编辑过]
----------------解决方案--------------------------------------------------------
void stringcat(char *str1,char *str2)
{
int c=strlen(str1);
for(;*(str1+c)=*str2;str1++,str2++);
}
void main()
{char *s1,temp[50]="qwer";
char *s2="fdsa";
s1=temp;
printf("%s",s1);puts("\n");
printf("%s",s2);puts("\n");
stringcat(s1,s2);
printf("%s",s1);
puts("\n");
getch();
}
这样也行的!主函数盗用楼上的,嘿嘿!
----------------解决方案--------------------------------------------------------