问题 多项选择题

请编写函数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[i]);
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[i][j];。

计算题
单项选择题