请编写函数fun(),该函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按J顷序合并组成一个新的字符串。 例如,若字符串数组中的M个字符串为 AAAA BBBBBBB CC 则合并后的字符串内容应该是AA

admin2010-09-14  20

问题 请编写函数fun(),该函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按J顷序合并组成一个新的字符串。
   例如,若字符串数组中的M个字符串为
   AAAA
   BBBBBBB
   CC
   则合并后的字符串内容应该是AAAABBBBBBBCC
   注意:部分源程序给出如下。
   请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
   试题程序:
    #include <conio. h>
   #define M 3
   #define N 20
   void fun (char a [M] [N], char *b)
  {

  }
   main ( )
  {
     char w [M] [N] ={"AAAA", "BBBBBBB", "CC"}, i;
     char a[100]={" ####################"};
     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’; /*在字符串最后加上结束标志符*/ }

解析 本程序中for(i=0;i<M;i++)循环的作用是用于对二维数组行的控制,第2个循环的作用是从同一行中取出字符并存放到一维数组b中,语句是b[k++]=a[j];。
转载请注明原文地址:https://jikaoti.com/ti/AIkiFFFM
0

相关试题推荐
最新回复(0)