我尝试制作一个程序,从数据文件中导入网格并对其执行某些操作,但在尝试将网格导入多维数组时,我遇到了问题。
我得到了一个"未处理的异常"我的while循环中的if-else语句出错。当我注释掉我的代码的这部分时,它运行得很完美。
int main( void ) {
FILE* grid = fopen( FILE_NAME, "r" );
int row = 0;
int column = 0;
int intGrid[21][21];
// Null check omitted for space.
while( fscanf( grid, "%d ", &intGrid[row][column] ) == 1 ) { // Loads the grid into an array
if( intGrid[row][column] != -1 )
column++;
else
column = 0;
row++;
}
任何人都可以在我的代码中发现问题。
答案 0 :(得分:0)
缺少括号:
else {
column = 0;
row++;
}
使用括号,row
总是递增,并且会快速耗尽数组维度。