一个二维字符组转一维字符组问题
请编写函数fun,函数的功能是:将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。例如,二维数组中的数据为:
W W W W
S S S S
H H H H
则字符串中的内容应是:WSHWSHWSH。(要求字符从键盘输入,且每个字符间有空格)
我的算法是
#include<stdio.h>
#include<string.h>
void fun(char a[100][100],int M,int N)
{int i,j,n=0;
char c[100];
for(j=0;j<=N-1;j++)
{ for(i=0;i<=M-1;i++)
c[n]=a[i][j];n++;
}
puts(c);
}
void main()
{int M,N,i,j;
char a[100][100];
printf("请输入行数M:");
scanf("%d",&M);
printf("请输入行数N:");
scanf("%d",&N);
printf("请输入%d个字符:",M*N);
for(i=0;i<=M-1;i++)
for(j=0;j<=N-1;j++)
scanf("%c",&a[i][j]);
for(i=0;i<=M-1;i++)
for(j=0;j<=N-1;j++)
printf("%c ",a[i][j]);
printf("\n");
fun(a,M,N);
}
问题是运行不了 还有字符串的空格处理 求大神解答 拜托了!!新手痛苦中