问答题

常用字符串函数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; len......

(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)
热门 试题

问答题
使用VC6打开考生文件夹下的工程test4_3。此工程包含一个源程序文件test4_3.cpp,其对一个学校的教师和考生情况进行了描述。由于教师和考生之间有相同的信息,如姓名、年龄等,所以可抽象出一个基类person,考生类student和教师类teacher作为person类的派生类。请按要求完成下列操作,将程序中的类定义补充完整。(1)定义基类person的私有数据成员name和age,分别用于表示姓名和年龄,name为字符指针,age为血型的数据。请在注释“ **1**”之后添加适当的语句。(2)完成基类person的重载构造函数person(char *n,int a)的定义,把数据成员name,age分别初始化为参数n,a的值,请在注释“ **2**”之后添加适当的语句。(3)根据主函数main中对s1的声明,定义派生类student的构造函数。在注释“ **3**”之后添加适当的语句。(4)完成派生类teacher成员函数void setinf(ehar *n,int a,char *d,char *1)的定义,其功能为记录教师的姓名、年龄、院,系与职称信息。请在注释“ **4**”之后添加适当的语句。输出结果如下:刘雷(45)destructor蒋军(23)destructor注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。源程序文件test4_3.cpp清单如下:#include<iostream.h>class person{ **1**public:person(){}person(char *n,int a){ **2**}void setname(char *n){name=n;)void setage(int a){age=a;}~person(){cout<<name<< ( <<age<< )destructor <<endl;)};class student:public person{char *department;int code;public: **3**{department=d;code=c;}};class teacher:public person{char *department;char *level;public:teacher(){}void setinf(char *n,int a,char *d,char *1){ **4**department=d;level=1;}};void main(){student s1( 蒋军 ,23, 计算机学院 ,2);teacher t1;t1.setinf( 刘雷 ,45, 计算机学院 , 教授 );}