私は 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;
}
しかし、間違った入力でハングします。そのような行動をチェックするために何ができるでしょうか?