【发布时间】:2014-10-01 09:53:24
【问题描述】:
我的程序中有这段代码:
if (primeiro != atual){
for (i = 0; i < atual -> numeroChaves; i++)
// comment
}
我收到以下错误:
d8641900: In function 'printaArvore':
d8641900:130:7: error: expected expression before '}' token
}
^
所以我在代码中做了如下改动:
if (primeiro != atual){
for (i = 0; i < atual -> numeroChaves; i++){}
// comment
}
它运行得很顺利。
我的疑问是:是我的代码有问题,还是适用于所有情况的规则?
有趣的是,在我的代码的其他部分,我有类似的情况(在 for 循环之后没有“{}”),但在它之后我有一行包含有效命令,并且它运行完美。
【问题讨论】:
-
它需要一些东西:要么是大括号,要么是一行内容
-
任何循环或测试都需要 something 在它之后。相同的规则适用。如果没有提供大括号,则仅执行下一行。如果提供了大括号,则执行大括号内的所有内容。
-
@sapi 注意空语句
;有资格作为某事。所以for(i = 0; i < 10; ++i);是有效的,并且什么都不做。 -
你想用这段代码完成什么?