繁体   English   中英

新手语法问题:错误:预期为';' 在')'标记之前

[英]Newbie syntax issue: error: expected ';' before ')' token

在两个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--;
                }
        }
}

很抱歉提出与以前类似的问题,但是我是一个非常困惑的新手!

每个for循环都需要包含3个部分(初始化,测试,更新),如果您没有一个或多个部分,则仍然必须提供这两个部分; ,所以

for(len < d; len++)
    ^
    |

应该真的是

    |
    v
for(;len < d; len++)

与函数中的其他for循环相同。

例如,这是使用for设置无限循环for

for(;;)

跳过所有部分,但仍然需要两个分号。

也许这是for循环上的教程/参考 ,作为复习/参考很有用。

通常,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--;
            }
    }

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM