演習4-4 K&R プログラミング言語C
2010年01月10日
4.3 の電卓プログラムを修正する。
演習4-4
演算結果の一時メモリ機能
main
関数に以下のケースを追加する。
/* 省略 */ case 'm': /* ポップすることなくスタックの一番上の要素を印字して複製する。メモリー機能 */ push(print()); break; /* 省略 */
スタックの一番上の値をポップせずに印字する関数を追加する。
/* print: スタックから一番上の値をポップすることなく印字する */ double print(void) { if (sp > 0) { return val[sp - 1]; } else { printf("error: stack empty\n"); return 0.0; } }
スタックの上2つの要素の交換機能
main
関数に以下のケースを追加する。
/* 省略 */ double op1, op2; /* 省略 */ case 'x': /* スタックの上の要素2つを交換する。 */ op1 = pop(); op2 = pop(); push(op1); push(op2); break; /* 省略 */
実行結果
$ ./calc 2 3 * m 6 3 + 9 2 3 - -1 2 3 x - 1
プログラミング言語C 第2版 ANSI規格準拠
posted with amazlet at 09.11.27
B.W. カーニハン D.M. リッチー
共立出版
売り上げランキング: 9726
共立出版
売り上げランキング: 9726