问题 问答题

常用字符串函数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是动态申请空间,返回指向该空间的指针。

不定项选择
单项选择题