標準入力から数字や特殊文字を読み込むプログラムに問題があり、読み込んだ内容に応じて特定の関数を実行しています。入力が数字の場合はスタックに置く必要があり、特殊文字の場合は数学関数の1つをトリガする必要があります。しかし、どの入力機能やトリックを使用すべきかはわかりません。私は、文字を読むためのscanfを使用している場合、私は(ポインタを必要とする)(税引後営業利益)数としてスタックにそれを置くことに問題があるswitch()関数の整数と特殊文字の区別
scanf("%c", a);
switch(a) {
case'+':
add(stack);
break;
case '-':
sub(stack);
break;
case 'number':
push(stack, a);
break;
...}
しかしスイッチ()関数を作成し、私は、整数のためのscanfあれば文字と比較することはできません。この仕事をする他の方法はありますか?私は複数のscanfを試してみましたが、それでも数字と特殊文字の区別に問題があり、文字がスタックに置かれてしまいました。
問題の数字は1桁か複数桁ですか? – dbush
両方。私はそれを1桁の数字と大きい数字の両方で動作させようとしています。 – MrHowever
@dbush: 'char'に複数の数字を合わせるには? –