0
经与下一个奇怪的一天,我得到一个编译错误expected ‘)’ before ‘;’
令牌行else if(inputIntWithinRange(r, 1, MAX_MINES_GRID) == FALSE) validated = FALSE;
之前预期“)”“;”令牌
如果我评论说,线路输出我不再得到的错误。据我所知,我的语法没问题,是否有人对这里发生的事情有一个暗示?
谢谢!
do
{
validated = TRUE;
getUserInput(input, MAX_MINES_LENGTH + EXTRA_SPACES);
sscanf(input, "%d", &r);
if(inputWithinAllowedLength(input) == FALSE) validated = FALSE;
else if(inputDigitsOnly(input) == FALSE) validated = FALSE;
else if(inputIntWithinRange(r, 1, MAX_MINES_GRID) == FALSE) validated = FALSE;
}
while(validated == FALSE);
最简单的方法来调试这将是包装在大括号你如果和其他的代码块{并把它放在一个新的线上。你也可以将逻辑简化为单个if(inputWithinAllowedLength(input)== FALSE || inputDigitsOnly(input)== FALSE || inputIntWithinRange(r,1,MAX_MINES_GRID)== FALSE)validated = FALSE;'even改为将'== FALSE'改为预置的'!'。 – darvids0n 2011-04-06 04:27:18
什么是MAX_MINES_GRID定义为? – 2011-04-06 04:31:16
我会看你的'#define's。 'MAX_MINES_GRID'如何定义并且是'FALSE'的定义好吗? – sje397 2011-04-06 04:32:47