C语言如何建立一个二维数组
就是建立一个二维数组但是数组的长宽要随着变量的变化而变化。很急给我点具体点的啊,他们说的都有道理但是这也太难为我这个初学的了,最好能给我举个例写源代码...
就是建立一个二维数组但是数组的长宽要随着变量的变化而变化。很急
给我点具体点的啊,他们说的都有道理但是这也太难为我这个初学的了,最好能给我举个例写源代码 展开
给我点具体点的啊,他们说的都有道理但是这也太难为我这个初学的了,最好能给我举个例写源代码 展开
4个回答
展开全部
刚刚看错了,原来是C语言,这样就好了.
输入m,n
int m,n;
int i,j;
scanf("%d%d",&m,&n);
int **mm=(int**)malloc(m*sizeof(int*));
for(i=0;i<m;i++)
mm[i]=(int*)malloc(n*sizeof(int));
这就建了一个二维数组mm[m][n]了.
使用时,就直接mm[i][j]就可以了.
先输入行数m,列数n
然后输入一个m*n的矩阵
然后输出这个矩阵.
#include <stdio.h>
#include <malloc.h>
void main() {
int m,n;
int i,j;
scanf("%d%d",&m,&n);
int **mm=(int**)malloc(sizeof(m*sizeof(int*)));
for(i=0;i<m;i++)
mm[i]=(int*)malloc(sizeof(n*sizeof(int)));
for(i=0;i<m;i++) {
for(j=0;j<n;j++)
scanf("%d",&mm[i][j]);
}
for(i=0;i<m;i++) {
for(j=0;j<n;j++)
printf("%d ",mm[i][j]);
printf("\n");
}
}
输入m,n
int m,n;
int i,j;
scanf("%d%d",&m,&n);
int **mm=(int**)malloc(m*sizeof(int*));
for(i=0;i<m;i++)
mm[i]=(int*)malloc(n*sizeof(int));
这就建了一个二维数组mm[m][n]了.
使用时,就直接mm[i][j]就可以了.
先输入行数m,列数n
然后输入一个m*n的矩阵
然后输出这个矩阵.
#include <stdio.h>
#include <malloc.h>
void main() {
int m,n;
int i,j;
scanf("%d%d",&m,&n);
int **mm=(int**)malloc(sizeof(m*sizeof(int*)));
for(i=0;i<m;i++)
mm[i]=(int*)malloc(sizeof(n*sizeof(int)));
for(i=0;i<m;i++) {
for(j=0;j<n;j++)
scanf("%d",&mm[i][j]);
}
for(i=0;i<m;i++) {
for(j=0;j<n;j++)
printf("%d ",mm[i][j]);
printf("\n");
}
}
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1L不负责任,不给具体的,只让人看文章!
这你的用动态内存来实现!
int *pD = (int*)molloc(m*n*sizeof(int));//声明一个数组!
*(pD+(i-1)*n+j);//调用数组的第ij个元素。
这你的用动态内存来实现!
int *pD = (int*)molloc(m*n*sizeof(int));//声明一个数组!
*(pD+(i-1)*n+j);//调用数组的第ij个元素。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这样的输出是不正确的。(我这里输出是-72
-66
-60,可能你那不是这结果)。
1、a[b]是二维中的首维数组了,如果真是取其数据的话,应该用指针才对(也就是*a[b])
2、数组起始索引是从0开始的,而你用了b=1
-
3
的循环(越界了),b应该从0--2做循环
3、如果你是按如下代码的话,输出就是:147
for(b=0;b<=2;b++)
printf("%d",*a[b]);
-66
-60,可能你那不是这结果)。
1、a[b]是二维中的首维数组了,如果真是取其数据的话,应该用指针才对(也就是*a[b])
2、数组起始索引是从0开始的,而你用了b=1
-
3
的循环(越界了),b应该从0--2做循环
3、如果你是按如下代码的话,输出就是:147
for(b=0;b<=2;b++)
printf("%d",*a[b]);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询