现在想要 定义一个全局变量的二维数组,但是数组的大小需要由用户输入 该怎么解决????
#include <stdio.h>
#include <stdlib.h> // for malloc()
#include <time.h>
int **array; // 在所有代码块之外声明
int main() {
int i,j,m,n;
printf("行数 m = "); // 在使用前初始化
scanf("%d",&m);
printf("列数 n = ");
scanf("%d",&n);
array = (int **)malloc(sizeof(int **));
srand(time(0));
for(i = 0; i < m; ++i)
array[i] = (int *)malloc(n * sizeof(int));
for(i = 0; i < m; ++i) {
for(j = 0; j < n; ++j) {
array[i][j] = rand()%100;
printf("%4d",array[i][j]);
}
printf("\n");
}
// .............
return 0;
}
#include <stdlib.h> // for malloc()
#include <time.h>
int **array; // 在所有代码块之外声明
int main() {
int i,j,m,n;
printf("行数 m = "); // 在使用前初始化
scanf("%d",&m);
printf("列数 n = ");
scanf("%d",&n);
array = (int **)malloc(sizeof(int **));
srand(time(0));
for(i = 0; i < m; ++i)
array[i] = (int *)malloc(n * sizeof(int));
for(i = 0; i < m; ++i) {
for(j = 0; j < n; ++j) {
array[i][j] = rand()%100;
printf("%4d",array[i][j]);
}
printf("\n");
}
// .............
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答 2014-07-11
第一 把数组开大点= =要用多少到时候再说
第二 vector是个好东西,变长数组
以上为c++stl模板
第二 vector是个好东西,变长数组
以上为c++stl模板
第2个回答 2014-07-11
你最起码得说明白你用什么语言吧……
用c的话用malloc分配
c++的话就用new
用c的话用malloc分配
c++的话就用new