看板 C_and_CPP 關於我們 聯絡資訊
各位前輩以下是我的流程圖跟程式碼 http://imgur.com/d0yprce http://ideone.com/rjbx8a 詳細註解 想請問我的程式碼邏輯是否不對? 可以編譯可是執行卻會卡住 我是以兩個陣列兩個堆疊去放運算子跟運算元也邊放邊算 也感謝上篇兩位大大提供的兩種code、巴哈那篇我看不太懂、javascript判斷那我有參考 因為我覺得還是照自己的寫法比較有感覺,所以在貼上來詢問我是哪邊不對 請各位前輩指點一下 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 163.25.119.5 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1458035886.A.DEB.html
Caesar08: 給你的努力一個推 03/15 21:57
yvb: 好幾個 i+1; (Line 50, 68...) 的意思是...? 03/16 01:25
povertytrap: i是用來掃str位置的,i+1就是前進下一位置 03/16 01:58
suwako: 那應該是要寫i++或++i吧 寫i+1沒有任何作用阿 03/16 07:47
suwako: 你push是輸入char 後面的計算會沒辦法算 03/16 08:19
suwako: 然後你與其畫流程圖 不如在程式碼裡面加註解 我看好久才 03/16 08:21
suwako: 看懂你在寫什麼 03/16 08:22
povertytrap: 請問一下,i+1不就是i++嗎?push丟字元沒錯啊? 03/16 13:05
povertytrap: push放運算元字元pop再將字元轉成數字丟出 03/16 13:06
povertytrap: ans=pop值去做計算 03/16 13:07
povertytrap: 我改成i++後可執行玩到結果卻答案不對@@ 03/16 13:09
povertytrap: 我如果要用i+1是否應該寫i=i+1,我忘了在哪看過i+1 03/16 13:15
povertytrap: 寫法 03/16 13:15
※ 編輯: povertytrap (163.25.119.4), 03/16/2016 13:16:38
povertytrap: 我有放詳細註解了 03/16 13:17
suwako: i+=1; ans=pop()*pop()的部份 ans會是計算後的"數值" 03/16 13:38
suwako: 既然push要丟字元 你後面放push(ans)怎麼會對呢? 03/16 13:39
suwako: 然後你的註解沒有解釋到運行的細節 像是pop()就完全沒解釋 03/16 13:43
suwako: 另外 我建議不要直接對字元做運算 你可以用strtol將字元 03/16 13:44
suwako: 轉換成數字 這樣也同時可以解決超過1個位數的問題 03/16 13:45
Caesar08: i+1與i++不一樣。++i, i++, i=i+1, i+=1這些要搞清楚 03/16 14:10
povertytrap: 謝謝suwako完全了解了,我在修看看 03/16 14:18
povertytrap: Caesar08大++i, i++我知道差別,i+=1我記得就是i=i+1 03/16 14:20
povertytrap: 不是嗎? 03/16 14:20
Caesar08: 是的。所以通常i+=1與i=i+1都會寫成++i 03/16 14:52