我尝试制作一个程序,从数据文件导入网格并对其执行某些操作,但在尝试将网格导入多维数组时遇到问题。
我的 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++;
}
任何人都可以找出我的代码中的问题吗?
最佳答案
缺少括号:
else {
column = 0;
row++;
}
如果没有括号,行
始终会递增,并且很快就会耗尽数组维度。
关于c - 未处理的异常 (C),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40063469/