
在C语言中如何用把二维数组中的一行贼给一维数组?
3个回答
展开全部
按列遍历,并输出到一维数组即可.
void covert(int a[M][N], b[M*N]){ int i,j,n; for(i = n = 0; i < N; i++) { for(j = 0; j < M; j ++) { b[n++] = a[j][i]; } }}
void covert(int a[M][N], b[M*N]){ int i,j,n; for(i = n = 0; i < N; i++) { for(j = 0; j < M; j ++) { b[n++] = a[j][i]; } }}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int i,j,a[3][4],b[12];
int n=0;
for(i=0;i<3;i++)
for(j=0;j<4;j++)
{
b[n++]=a[i][j];
}
或者用这个,memcpy(b , a[0],16); 后面的16表示4个整形,16个字节,但是我怕你搞错,还是走循环,嵌套赋值吧
int n=0;
for(i=0;i<3;i++)
for(j=0;j<4;j++)
{
b[n++]=a[i][j];
}
或者用这个,memcpy(b , a[0],16); 后面的16表示4个整形,16个字节,但是我怕你搞错,还是走循环,嵌套赋值吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2019-11-28
展开全部
一个一个复制
for ( int i = 0; i < 3; ++i )
b[i] = a[0][i];
//数组不支持直接拷贝。 不能整体赋值,这点不像结构体。
for ( int i = 0; i < 3; ++i )
b[i] = a[0][i];
//数组不支持直接拷贝。 不能整体赋值,这点不像结构体。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询