问答题 使用VC6打开 下的源程序文件modi2.cpp。阅读下列函数说明和C代码,完成空出部分的程序,实现函数fun(char*s1,char*s2)将字符串s2连接在字符串s1之后,构成一个首指针为s1的字符串。
注意:不能修改函数的其他部分。
#include <iostream.h>
#define MAXLINE 1000
void fun(char *sl,char *s2)
{
}
void main()
{
char s1[MAXLINE];
char s2[256];
cout "please input a string:" endl;
cin.getline(s1,MAXLINE);
cout "please input otherstring: " endl;
cin.getline(s2,256);
fun(s1,s2);
cout s1
【正确答案】
【答案解析】int 1=0;
for(i=0;s1[i]!=0; i++);//指向第一个串尾
for(int j=O;s2[j]!=0; j++)//利用循环将第二个串拷贝到第一个串尾
{
s1[i++]=s2[j];
}
s1[i]=0; //加尾符
答案考生文件夹 [解析] (1)该程序功能是将字符串s2连接在字符串s1之后。它的解题思路,首先指向字符串s1的尾,然后将第二个字符串s2的内容依次拷贝到第一个串的尾。
(2)从已给部分源程序的main主函数开始入手,核心函数void fun(char*s1,char*s2)中的s1和s2为要连接的字符串。
(1)首先利用循环指向第一个串尾。
(2)然后利用for循环将第二个串连接到第一个串尾。
(3)最后在新生成的串尾加尾符号。