本帖最后由 时振 于 2014-11-25 02:28 编辑
亲,这样做可能会出现越界
你可以试试这样,看看可以不?
#include <stdio.h>
void strlink(char x[],char y[]);
int main()
{
char s[]="oabcmnh";
char t[]="pdef";
strlink("abc","def");
strlink("abc","def");
strlink(s,"def");
strlink("abc",t);
return 0;
}
void strlink(char s[],char t[])
{
int i=0,j=0;
char p[20];//定义一个稍大的字符串,当然可能浪费一点点内存
while(s!='\0')
{
p=s;
i++;
}
while(t[j]!='\0')
{
p[i+j]=t[j];
j++;
p[i+j+1]='\0';//保证能够按连接后的长度正常输出
}
printf("%s\n",p);
//puts(p);
}
一点自己理解,互相学习
|