使用VC6打开考生文件夹下的源程序文件modi2.qpp。阅读下列函数说明和C代码,完成空出部分的程序,实现函数fun(char*s1,char*s2)将字符串s2连接在字符串s1之后,构成一个首指针为s1的字符串。 注意:不能修改函数的其他部分。

admin2018-10-23  30

问题 使用VC6打开考生文件夹下的源程序文件modi2.qpp。阅读下列函数说明和C代码,完成空出部分的程序,实现函数fun(char*s1,char*s2)将字符串s2连接在字符串s1之后,构成一个首指针为s1的字符串。
    注意:不能修改函数的其他部分。
1  #include<iostream.h>
2  #define MAXLINE  1000
3  void fun(char *s1,char *s2)
4  {
5
6  }
7  void main()
8  {
9    char s1[MAXLINE];
10    char s2[256];
11    cout<<’’please input a string:’’<<end1;
12    cin.getline(s1,MAXLINE);
13    cout<<’’please input other string:’’<<end1;
14    cin.getline(s2,256);
15    fun(s1,s2),
16    cout<<s1<<end1;
17    return;
18  }

选项

答案1 int i=0; 2 for(i=0;s1[i]!=0;i++);//指向第一个串尾 3 for(int j=0;s2[j]!=0; j++) //利用循环将第二个串拷贝到第一个串尾 4 { 5 s1[i++]=s2[j]; 6 } 7 s1[i]=0; //加尾符

解析 (1)该程序功能是将字符串s2连接在字符串s1之后。它的解题思路,首先指向字符串s1的尾,然后将第二个字符串s2的内容依次拷贝到第一个串的尾。
    (2)从已给部分源程序的main主函数开始入手,核心函数void fun(char*s1,char*s2)中的s1和s2为要连接的字符串。
    (3)首先利用循环指向第一个串尾。
    (4)然后利用for循环将第二个串连接到第一个串尾。
    (5)最后在新生成的串尾加尾符号。
转载请注明原文地址:https://kaotiyun.com/show/JwAp777K
0

最新回复(0)