做一个tic-tac-toe游戏的任务,现在我遇到了一个障碍。
编译器不断地告诉我,我的数组被重新声明为不同类型的符号,尽管它只被声明为一个数组。
据我所知,我希望这是一个显而易见的解决办法。
char board[4][4];
printf("Would you like to play a game of tic-tac-toe? (Y or N)\n");
scanf("%c", &start);
while(start!=N && start!=n){
void clearField(char board[4][4]);
void printField(char board[4][4]);
}
}
void clearField(char board[4][4]){
char board[4][4]={{ ,0,1,2},{0,_,_,_},{1,_,_,_},{2,_,_,_}};
}
错误出现在倒数第二行。“板子被重新声明为不同种类的符号”。怎么回事?
发布于 2019-06-13 03:35:59
在clearField()
中,您确实使用与参数相同的名称重新声明了数组,这毫无意义。
如果你打算赋值给参数,这是有意义的,你不能像那样重复它的类型。
而且,你不能像那样赋值给数组,我认为大多数正常的代码都会使用嵌套循环或memset()
调用。
其他奇怪之处包括未加引号的N
和n
,您可以将其与start
进行比较,以及if
中重复的无意义的函数声明。
似乎你真的需要阅读基本的C语法和结构,当你真正需要做一些事情(比如调用函数)的语句时,你似乎想要重复声明。
https://stackoverflow.com/questions/56569205
复制相似问题