请编写函数fun, 函数的功能是: 将M行N列的二维数组中的字符数据, 按列的顺序依次放到一个字符串中。
例如, 二维数组中的数据为:
W W W W
S S S S
H H H H
则字符串中的内容应是: WSHWSHWSHWSH。
代码示例:
#include<stdio.h>
#include<string.h>
#define M 3
#define N 4
void fun(char(*a)[N],char *b)
{
int i,j,k=0;
for(j=0;j<N;j++)
{
for(i=0;i<M;i++)
{
b[k]=*(*(a+i)+j);
k++;
}
}
b[k]='\0';
}
main()
{
char a[M][N],b[100];
int i,j;
printf("请输入原始数据:\n");
for (i=0;i<M;i++)
{
for (j=0;j<N;j++)
scanf("%c",&a[i][j]);
}
printf("二维数组中的数据为:\n");
for (i=0;i<M;i++)
{
for (j=0;j<N;j++)
printf("%3c", a[i][j]);
printf("\n");
}
fun(a,b);
printf("按列的顺序依次:\n");
puts(b);
}
运算结果: