黑马程序员技术交流社区
标题:
复习的时候遇到的
[打印本页]
作者:
2014571245
时间:
2014-4-26 13:48
标题:
复习的时候遇到的
本帖最后由 2014571245 于 2014-4-27 10:49 编辑
请问下面程序有什么错误?
int a[60][250][1000],i,j,k;
for(k=0;k<=1000;k++)
for(j=0;j<250;j++)
for(i=0;i<60;i++)
a
[j][k]=0;
我看了半天,也没有觉得有声明错误啊,谁能指点下?
作者:
兰闻天
时间:
2014-4-26 14:06
int a[60][250][1000],i,j,k;
for(k=0;k<=1000;k++)//这个地方应该是 k<1000 吧
for(j=0;j<250;j++)
for(i=0;i<60;i++)
a[i][j][k]=0;
作者:
blz01003hm
时间:
2014-4-26 14:12
我感觉是电脑分不出那么多内存给你了
这样写就运行得了
int main(void){
int a[60][250][10],i,j,k;
for(k=0;k<=10;k++)
for(j=0;j<250;j++)
for(i=0;i<60;i++)
a[i][j][k]=0;
return 0;
}
作者:
2014571245
时间:
2014-4-26 14:43
兰闻天 发表于 2014-4-26 14:06
int a[60][250][1000],i,j,k;
for(k=0;k
不只这一个简单的错误
作者:
脸皮猴
时间:
2014-4-26 15:05
int a[60][250][1000],i,j,k;
for(k=0;k<=1000;k++)
for(j=0;j<250;j++)
for(i=0;i<60;i++)
a[i][j][k]=0;
// 有一个错误 for(k=0;k<=1000;k++)这句话应该改为for(k=0;k<1000;k++),不然会数组越界。
// 但是就算你改为1000了,你这程序可能也运行不了。编译器给你分配不了那么大的内存给你的这个数组。
// 60 * 250 * 1000 * 4 = 47M!!
复制代码
作者:
stevenzhao1977
时间:
2014-4-26 15:20
首先 "for(k=0;k<=1000;k++)" --> k不能等于1000;
然后 ,如果想有整个数组赋值成0 --》
可以在声明时 int a[60][25][1000]={};
再然后 int a[60][250][1000] ---> xcode 可以编译,但运行不了,可能太大了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2