これが私の問題です: +x または *x の 2 種類のフレーズのいずれかを読み取らなければならず、それから読み取った操作を使用する必要があります。たとえば、私が計算したいくつかの平均値があるとしましょう。次に +3 を読み取ると、平均値は +3 になり、プラスの部分を実行できた * 関数と同じになります。これが私の本当に醜い (しかし機能している)そのためのコード:
char c=0;
char tempchar=0;
char sign=0;
printf("enter a character\n");
while (c!= '\n' && c!=EOF)
{
tempchar=c;
c = getchar();
if (c=='+' || c=='*')
sign = c;
if (c=='\n' || c==EOF)
{
c=tempchar;
break;
}
}
if (sign == '+')
avg = avg + (c-'0');
したがって、+ 1 が機能します。しかし、* オプションの場合、入力した最後の文字のみを取得します (たとえば、*1.2 を入力すると * と 2 が取得されます) ので、* と整数を取得するにはどうすればよいでしょうか?
ありがとう!