【发布时间】:2022-12-13 07:55:23
【问题描述】:
我想要的数组中唯一的元素是那些我正在转换为 1 的元素,但由于某种原因,当我在下部导航时,这个堆栈粉碎发生了。
```
#include <stdio.h>
#define tam 12
int main(void) {
int i, j;
int matriz[tam][tam]={{0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0}};
int controle = 0, controle2 = 0;
for(i = 0; i<6;i++){
for(j=i;j<tam-i;j++){
matriz[tam-(i)][tam-(j+1)]=1;
matriz[i-1][j]=1;
}
}
for(i=0;i<tam;i++){
for(j=0;j<tam;j++){
printf("%i ", matriz[i][j]);
}
printf("\n");
}
}
```
`
```
【问题讨论】:
-
您确定您的数组查找始终在正确的范围 0..11 内吗?
i-1在i=0时似乎很糟糕。 -
这就是堆栈粉碎的意思?如果是这样,我必须确认。
-
这意味着你开始使用你不应该接触的内存,在这种情况下是堆栈本身。
标签: c