使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,请编写函数fun,其功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。 例如,若字

admin2020-06-02  29

问题 使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,请编写函数fun,其功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。
    例如,若字符串数组中的M个字符串为{“AAAA”,“BBBBBBB”,“CC”},则合并后的字符串内容应该是“AAAABBBBBBBCC”。
    注意:部分源程序给出如下。
    请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
    试题程序:
#include<stdio.h>
#include<conio.h>
#define M 3
#define N 20
void fun(char aiM][N],char*b)
{

}
void main()
{
    char W[M][N]={"AAAA","BBBBBBB","CC"};
    char a[100]={"##################");
    int i;
    printf("The string:\n");
    for(i=0;i<M;i++)
    puts(w);
  printf("\n");
  fun(w,a);
  printf("The A string:\n");
  printf("%s",a);
  printf("\n\n");
}

选项

答案void fun(char a[M][N],char*b) { int i,j,k=0; for(i=0;i<M;i++) /*将字符串数组中的M个字符串,按顺序存入一个新的字符串*/ for(j=0;a[i][j]!=’\0’;j++) b[k++]:a[i][j]; b[k]=’\0’j; /*在字符串最后加上字符串结束标记符*/ }

解析 本题考查:字符串连接操作。本程序中第1个for循环的作用是对二维数组行的控制,第2个循环的作用是从同一行中取出字符并存放到一维数组b中,语句是b[k++]=a[j];。
转载请注明原文地址:https://kaotiyun.com/show/PqCp777K
0

最新回复(0)