例如,若二维数组中的数据为:
33 33 33 33
44 44 44 44
55 55 55 55
则一维数组中的内容应是:33 33 33 33 44 44 44 44 55 55 55 55
#include<stdio.h>
#include<string.h>
void fun(int *p, int *q, int m, int n)
{
int i, j, k = 0, x;
for (i = 0; i < m; i++)
{
for (j = 0; j < n; j++)
{
*(q + k++) = *(p + i * 100 + j);//这里用100是因为我设置的函数a[100][100]有100行100列。
}
}
int main()
{
int a[100][100];
int b[200];
int i, j, k, m, n, h;
printf("二维数组为m行,m=");
scanf("%d", &m);
printf("二维数组为n列, n=");
scanf("%d", &n);
h = m * n;
printf("一维数组为%d列", h);
for (i = 0; i < m; i++)
{
for (j = 0; j < n; j++)
{
scanf("%d", &a[i][j]);
}
}
fun(a[0], b, m, n);
for (i = 0; i < h; i++)
{
printf("%d ", b[i]);
}
return 0;
}