这是我的第二次C任务,我们被告知要重新创建Conway的生命游戏版本。我正在使用struc(typedef)来保存我创建的网格的2d数组:
typedef int TableType[HEIGHT][WIDTH];
高度& WIDTH是#define常量。
我正在尝试使用下面的函数来比较2个表。出现以下错误(无论我尝试和比较值的方式):
error: expected expression before '==' token
int compareTables (TableType tableA, TableType tableB){
int height, width;
for (height = 0; height < HEIGHT; height++) {
for (width = 0; width < WIDTH; width++) {
if(tableA[height][width]) == tableB[height][width])
return LIFE_NO;
}
}
return LIFE_YES;
}
我使用Code-Blocks作为我的编译器,似乎找不到让gccx工作的方法。所以,据我所知,'stdio.h'是我唯一可以使用的库。
我尝试导入指针并使用 - &gt;操纵那些指针。运算符来获取要比较的值无济于事。 我也使用类似的方法来复制表,似乎编译得很好。
有什么建议吗? 请温柔我是个不错的人。
提前致谢。
答案 0 :(得分:0)
if(tableA[height][width]) == tableB[height][width])
应该是
if(tableA[height][width] == tableB[height][width])
答案 1 :(得分:0)
你应该这样做
if(tableA[height][width] == tableB[height][width])
不
if(tableA[height][width]) == tableB[height][width])
你的功能应该是:
int compareTables (TableType tableA, TableType tableB)
{
int height, width;
for (height = 0; height < HEIGHT; height++) {
for (width = 0; width < WIDTH; width++) {
if(tableA[height][width] == tableB[height][width])
return LIFE_NO;
}
}
return LIFE_YES;
}