我想编译这个程序在C(一CS50在线类),并不断收到以下错误:非void函数错误
fifteen.c:233:1:错误:控制可能到达非void函数结束[-Werror,-Wreturn型] }
我不是问我的代码的逻辑,但更多的寻找,我已经错过了语法错误上一个小时。代码如下。谢谢!
bool move(int tile)
{
for (int i = 0; i < d - 1; i++){
for (int j= 0; j < d - 1; j++){
if (tile == board[i][j]){
if (board[i+1][j] == tile){
board[i+1][j] = 0;
board[i+1][j] = tile;
return true;
}
else if (board [i-1][j] == 0){
board[i-1][j] = tile;
board [i-1][j] = 0;
return true;
}
else if (board [i][j+1] == 0){
board[i][j+1] = tile;
board [i][j+1] = 0;
return true;
}
else if (board [i][j-1] == 0){
board[i][j-1] = tile;
board [i][j-1] = 0;
return true;
}
}
return false;
}
}
}
纠正你的缩进,它可能会变得清晰。记住编译并不知道在运行时所有的东西都会有什么值,所以它不会为你做任何假设(比如假设你的一个if语句总是成立)...... – John3136