请问,C语言中如何取二维数组某一列,并转化为一维数组?越简单越好,谢谢!!

如题所述

第1个回答  2011-03-30
#include<stdio.h>
void main()
{
int a[3][2]={1,2,3,4,5,6};
int b[3],i;
scanf("%d",&l);//输入要取的列号
for(i=0;i<3;i++)
b[i]=a[i][l];
}
第2个回答  2011-03-30
a[3][2]={1,2,3,1,2,3,1,2,3}
b[3]
for(i=0;i<3;i++)
b[i]=a[i][2];
赋值后b[3]={3,3,3}
第3个回答  2011-03-30
循环赋值:
#define m 5
#define n 6
float x2[m][n]; //m 行 n 列
float x1[m]; // 存取来的某列
int i,L;
L = 2; // 取某列
for (i=0;i<m;i++) x1[i]=x2[i][L];追问

没有更简单的方法吗?就像取某一行那样?

追答

某一行 -- 正好是一个指针。(地址连续)
某一列 -- 指针也要循环计算。(地址不连续)

本回答被提问者采纳
相似回答