在两个for循环上(即:for(len ...和for(wid ...),我收到相同的错误消息:
错误:预期';'在')'令牌之前
void
init(void)
{
//fills board up with numbers
int tile = (d*d - 1);
int len = 0;
int wid = 0;
for(len < d; len++)
{
for(wid < d; wid++)
{
board[len][wid] = tile;
tile--;
}
}
}
很抱歉像以前一样问一个类似的问题,但我是一个非常困惑的新手!
答案 0 :(得分:5)
每个for循环需要有3个部分(初始化,测试,更新),如果你没有一个或多个,你仍然需要提供两个;
,所以
for(len < d; len++)
^
|
应该是
|
v
for(;len < d; len++)
和你的函数中的其他for循环相同。
例如,这是使用for
设置无限循环的方法:
for(;;)
其中所有部分都被跳过,但仍然需要两个分号。
对于for循环,这可能是tutorial/reference,这有助于作为评论/参考。
答案 1 :(得分:5)
通常,for循环有三个部分:
for (initialization; check; update) { ... }
在您的代码中,您缺少初始化部分。 你在for循环中缺少一个半冒号,表示你不需要初始化子句(因为你在上面这样做):
void
init(void)
{
//fills board up with numbers
int tile = (d*d - 1);
int len = 0;
int wid = 0;
for(;len < d; len++)
{
for(;wid < d; wid++)
{
board[len][wid] = tile;
tile--;
}
}
}