【发布时间】:2016-04-25 09:24:20
【问题描述】:
我不断收到grid[x][y] = rand(); 的段错误
有什么帮助吗?我试过用数字替换随机函数调用,看看是否是导致问题的原因,但似乎不是这样。我不知道
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(){
int x;
int y;
int gridMult;
int grid[gridMult][gridMult];
srand(time(NULL));
std::cout << "Enter grid size:: ";
std::cin >> gridMult;
while(x < gridMult){
while(y < gridMult){
grid[x][y] = rand();
y++;
}
x++;
}
for(int x = 0; x < gridMult; x++){
for(int y = 0; y < gridMult; y++){
std::cout << grid[x][y];
}
std::cout << std::endl;
}
return 0;
}
【问题讨论】:
-
x和y的初始值是多少?
-
在
std::cin >> gridMult;之后移动int grid[gridMult][gridMult]; -
您正在初始化数组
grid,其值为未定义的gridMult,您在创建数组后将值加载到gridMult,这不是您想要的