我正在通過Stephen Kochan在'C編程'中學習C語言。我正在研究第6章的練習4,編寫一個充當簡單累加器計算器的代碼。代碼如下。只要輸入按照正確的順序提供,它就可以正常工作。如何阻止這些代碼掛在錯誤的輸入處?
#include<stdio.h>
int main(void)
{
float num, accum = 0;
char operator;
while(1)
{
printf("Enter the number and the operator ");
scanf("%f %c",&num, &operator);
if (operator == 'E') break;
switch (operator){
case 'S':
accum = num;
printf("= %g\n",accum);
break;
case '+':
accum = accum + num;
printf("= %g\n",accum);
break;
case '-':
accum = accum - num;
printf("= %g\n",accum);
break;
case '*':
accum = accum * num;
printf("= %g\n",accum);
break;
case '/':
accum = accum/num;
printf("= %g\n",accum);
break;
}
}
printf("= %g\n",accum);
printf("End of Calculation\n");
return 0;
}
但它掛在錯誤的輸入。可以做些什麼來檢查這種行爲?
'operator'是一個C++關鍵字。這可能不是在C. – ouah 2012-04-09 10:20:01