常用字符串函数strcat(s1,s2)可将字符串s2添加到字符串s1的末端,但其使用必须保证字符串s1足够大,以便保存它自己的内容和字符串s2中的内容。请编写一个函数char*append(char*s1,char*s2),其可将字符串s2添加到字符串s1的末端,而且不受s1空间大小的限制。请利用常用字符串函数实现。
常用字符串函数说明:
strcpy(to,form):将form字符串复制到to字符串;
strcat(s1,s2):将字符串s2添加到字符串s1的末端,但必须保证字符串s1足够大;
strlen(s):返回字符串s的长度;
注意:部分源程序已存在文件test4_2.cpp中。
请勿修改主函数main和其他函数中的任何内容,仅在函数append的花括号中填写若干语句。
输出结果如下:
this is a string.
文件test4_2.cpp的内容如下:
#include<iostream.h>
#include<string.h>
char *append(char *s1,char *s2)
void main()
char *s,*s1,*s2;
s1="this is ";
s2=",a string.";
s=append(s1,s2);
cout<<s<<endl;
参考答案:
char *append(char *s1,char *s2)
{
char *tmp;
int length;
length=strlen(s1)+strlen(s2);
tmp=new char[1ength+1];
strcpy(tmp,s1);
strcat(tmp,s2);
return tmp;
}
解析: 本题考查考生利用常用字符串函数编写新函数的能力。strlen返回参数含有的字符个数, strcpy是字符串复制函数,作用是将第二个参数赋值给第一个参数,strcat是字符串追加函数,可将参数2添加到参数1的末端,new是动态申请空间,返回指向该空间的指针。