K&R的《C程式設計語言》,4.3章節為逆波蘭計算器的程式并放在一個檔案里。4.5章節,把程式分割成若干個源檔案,但出錯(放在一個檔案里時還沒有錯),分割到多個源檔案后的main函式如下:
main()
{
int type;
double op2;
char s[MAXOP];
while ((type = getop(s)) != EOF) {
switch (type) {
case NUMBER:
push(atof(s));
break;
case '+':
push(pop() + pop());
break;
case '*':
push(pop() * pop());
break;
case '-':
op2 = pop();
push(pop() - op2);
break;
case '/':
op2 = pop();
if (op2 != 0.0)
push(pop() / op2);
else
printf("error: zero divisor\n");
break;
case '\n':
printf("\t%.8g\n",pop());
break;
default:
printf("error: unknown command %s\n", s);
break;
}
}
return 0;
}
提示是switch陳述句的第一個case “case NUMBER:"有兩個錯誤
error C2143: 語法錯誤 : 缺少“:”(在“;”的前面)
error C2143: 語法錯誤 : 缺少“;”(在“:”的前面)。
但為什么放在一個檔案里時沒有出現錯誤?
uj5u.com熱心網友回復:
有沒有包含頭檔案?或者在移動的時候把字符或什么弄錯了……轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/107117.html
標籤:基礎類
上一篇:關于BCB按鈕問題
