我不得不删除所有课程代码,抱歉。
答案 0 :(得分: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的变量会很有帮助。