问答题 请编写函数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 a[M][N],char *b)
{
}
void 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
for(j=0;a[i][j]!="/0";j++)
b[k++]=a[i][j];
b[k]="/0"; /*在字符串最后加上字符串结束标记符*/
} [解析] 本题考查:字符串连接操作。本程序中第1个for循环的作用是对二维数组行的控制,第2个循环的作用是从同一行中取出字符并存放到一维数组b中,语句是b[k++]=a[i][j];。