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