#include <stdio.h>
#include <string.h>
#define MAXS 10
char *str_cat( char *s, char *t );
int main()
{
char *p;
char str1[MAXS+MAXS] = {'\0'}, str2[MAXS] = {'\0'};
scanf("%s%s", str1, str2);
p = str_cat(str1, str2);
printf("%s\n%s\n", p, str1);
return 0;
}
/* 你的代码将被嵌在这里 */
方法一:直接调用strcat函数,但这不是本题目的。
char *str_cat( char *s, char *t )
{
strcat(s,t);
return s;
}
方法二:使用strcpy函数,他可能可以自动扩展内存空间
char *str_cat( char *s, char *t )
{strcpy(s+strlen(s),t);
return s;
}
方法三:将t中的字符一个一个赋给s,首先,找到s中的‘\0’;其次,依次赋值。
但是做了半天,改不对,很烦。以后改对了,再放上来。