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

admin2023-02-27  5

问题 使用VC++2010打开考生文件夹下progl中的解决方案。此解决方案的项目中包含一个源程序文件progl.c。在此程序中,请编写函数fun(),其功能是将放在字符串数组中的M个字符串(每个字符串的长度不超过N),按顺序合并成一个新的字符串。
    例如,若字符串数组中的M个字符串为{"AAAA","BBBBBBB","CC"},则合并后的字符串内容应该是"AAAABBBBBBBCC"。
    注意:部分源程序给出如下。
    请勿改动主函数main()和其他函数中的任何内容,仅在函数fun()的花括号中填入你编写的若干语句。
    试题程序:
1 #include<stdio.h>
2 #include<conio.h>
3 define M 3
4 define N 20
5 void fun(char a[M][N],char*b)
6 {
7
8 }
9 void main()
10 {
11  char w[M][N]={"AAAA","BBBBBBB","CC"};
12  char a[100]={" #########");
13    int i;
14    printf("The string:\n");
15    for(i=0;i<M;i++)
16    puts(w);
17  printf("\n");
18  fun(w,a);
19  printf("The string:\n");
20  printf("%s",a);
21  printf("\n\n");
22 }

选项

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

解析 本题考查字符串连接操作。字符串数组相当于二维字符数组。字符串数组a是M行N列的二维数组。通过两层for循环遍历数组a,将数组a中的元素保存到数组b中。在数组b的最后一个元素后添加字符串结束标志"\0"。
转载请注明原文地址:https://www.kaotiyun.com/show/5P0D777K
0

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