我不得不删除我所有的课程代码,对不起。
问问题
615 次
1 回答
1
你没有在你的函数中做任何边界检查,所以假设它board
只是一个标准数组或一个没有边界检查的类,那么你什么时候x<=1
会越界并直接进入未定义的行为。
在没有看到更多代码的情况下,最明显的检查和修复将是:
else if( x > 1 && (board[x-1][y] == 'S' && board[x-2][y] == '.') )
if
您的语句也有边界检查问题,如果x >= 4
那么您也将超出范围:
if( x <= 4 && (board[x+1][y] == 'S' && board[x+2][y] == '.') )
如果您决定更改它,拥有某种定义 max 的变量会很有帮助。
于 2013-04-12T02:54:01.047 回答