浙大版《C语言程序设计(第4版)》题目集参考答案
本题要求实现一个函数,将两个字符串连接起来。
函数接口定义:
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
提交结果:
基本思路:
1.直接调用实现该功能的库函数
2.用临时指针接收s的地址,然后将字符串s移动到'\0' ,最后把t的字符依次拼接上去,返回临时指针
代码实现:
1.库函数
char* str_cat(char* s, char* t)
{
return strcat(s,t);//库函数
}
2.自定义函数
char* str_cat(char* s, char* t)
{
char* return_s=s;
while(*++s);
while(*s++=*t++);
return return_s;
}
欢迎提问和纠错,共同讨论一起进步!