#include<stdio.h>
#include<stdlib.h>
int main()
{
int i,j,n=0;
printf("请输入m和n:");
scanf("%d%d",m,n);
int a[m][n];
for(i=1;i<=m;i++)
for(j=1;j<=n;j++,n++)
{
a[i][j]=rand()%10;
if(n%5==0)printf("\n");
printf("%d\t",a[i][j]);
}
printf("\n");
return 0;
}
请帮忙修改啦.....rand不会用,可以的话顺便讲讲,谢谢大神们了
不太懂啊...定义二维数组是因为后面还有继续的....我想问我的哪里cuole
追答int a[m][n]这叫静态数组,定义时要求m,n为数值常量(1,2等)或者const int型常变量(例:const int m = 10),而不能使用输入的方式,编译通不过。
我定义的也是二维数组啊。只不过是动态申请的动态数组。
不行啊= =有错误,是完整的么
追答完整代码
#include
#include
#include
int main()
{
int m, n;
scanf("%d\n%d", &m, &n);
int **retArray = (int**)malloc(sizeof(int*) * m);
srand(time(0));
for (int i = 0; i < m; ++i)
{
retArray[i] = (int*)malloc(sizeof(int) * n);
for (int j = 0; j < n; ++j)
{
retArray[i][j] = rand();
}
}
//release
for (int i = 0; i < m; ++i)
{
free(retArray[i]);
}
free(retArray);
return 1;
}
换成纯C语言的了,再编不过就追问吧。