三默网为您带来有关“6-28 字符串的连接 (15分)”的文章内容,供您阅读参考。
6-28 字符串的连接 (15分)
2023-01-21 10:10:50
本题要求实现一个函数,将两个字符串连接起来。
函数接口定义:
char *str_cat( char *s, char *t );
函数str_cat应将字符串t复制到字符串s的末端,并且返回字符串s的首地址。
裁判测试程序样例:
#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;
}
/* 你的代码将被嵌在这里 */
输入样例:
abc
def
输出样例:
abcdef
abcdef
代码:
char *str_cat( char *s, char *t )
{
int i;
int len=strlen(s);
for(i=0;*(t+i)!=0;i++)
{
*(s+i+len)=*(t+i);
}
return &s[0];
}
细节:一个字符串的首地址就是他的首项,占一个位置
字符串的长度(也就是用strlen()求的长度)不包括最后的’\0’,但这个空串也算是这个字符串的一部分