2010-07-09 140 views
2

在K & R我們設法創建了RPN。找不到K&R練習的解決方案4-6

演習現在是:

添加命令來處理變量(可以很容易地提供26 變量單字母域名。)添加一個變量爲最 最近打印的價值。

因此,這意味着有些像Python解釋,在這裏我們可以這樣做:

>>>5 
>>>_ (where _ prints 5) 
>>>_ + 5 (which prints 10) 

或 A = 5 _ + A(它打印10)

等但我並不確定我想怎樣在C中做這件事。我只是感到難過。

回答

2

創建一個第26個變量。任何時候你打印一些東西,把這個值寫入第26個變量。當他們使用_(或您選擇的任何名稱)從該變量中讀取時。

+0

我希望能夠使用變量名稱讀取變量: 給定A = 5,當我輸入「A」時,我期望它打印5或B = 6,B打印6 ,_打印最後一個變量,A + B打印11,_ + 4打印15,依此類推。 – lamenuts 2010-07-09 06:56:27

+0

目前還不清楚預計會發生什麼。使用變量作爲操作數是有意義的。然而,到目前爲止,在這一章中沒有給出必要的工具來使這個簡單的練習。我認爲答案的建議是可以的。 – Elyasin 2015-08-26 11:29:32

0

這是構建命令行計算器的第一步,我猜。

解析操作數和運算符的輸入字符串。操作映射到一個枚舉

enum operator { TYPE_ADD, TYPE_SUBTRACT,TYPE_MAX); 

調用函數來計算結果

int calculate(int i_op1, int i_op2, operator e_operator) 
      { 
       /*Use switch case to calculate result*/ 
      } 

保存這個結果到一個變量。在字符串中的輸入等於「_」,然後將其用作函數calculate的第一個輸入。