推 coldchris:樓下白癡05/16 18:39
→ fleeaaa:冒險蓋05/16 18:40
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.163.156.148
※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1420807120.A.DF0.html
→ narukaze: temp[i+1]!='+-*/' ''內應該只能塞一個字元的東西 01/09 20:58
→ wvwvwvwvwv: 剛剛去測試過 真的不能orz 已改掉了 不過temp[i+1] 01/09 21:06
→ wvwvwvwvwv: 依然沒改善 01/09 21:06
→ narukaze: 問題有好幾個...用除錯器看看 還會有除以0的情況發生 01/09 21:46
→ narukaze: 檢查 mathstack 存了什麼 01/09 21:47
→ fwfly: narukaze 是對的,mathstack 的邏輯跟你想的不一樣 01/10 08:46
→ wvwvwvwvwv: 因為我判斷空白後面是不是運算子的方式失敗了 所以 01/10 10:46
→ wvwvwvwvwv: 只要碰到空白lead就會+1 即使後面是運算子也是 01/10 10:47
→ wvwvwvwvwv: 奇怪的是我用pirntf("%d %c %c",i,temp[i],temp[i+1]) 01/10 12:37
→ wvwvwvwvwv: 印出來的temp[i+1]是正常的 丟到判斷式就失控了 01/10 12:37
→ tj386: for最後一次loop時temp[i+1]不就出界了嗎temp又剛好宣告100 01/10 14:24
→ tj386: 我把判斷是改成這樣就跑出正確62.5了 if(temp[i] == ' '){ 01/10 14:45
→ tj386: char *s = strtok(NULL," "); 01/10 14:46
→ tj386: if( temp[i+1]!='+'&& temp[i+1]!='-'&&temp[i+1]!='*'&&te 01/10 14:46
→ tj386: mp[i+1]!='/'){ mathstack[++lead]=atof(s); }} 01/10 14:47
→ wvwvwvwvwv: 居然分開寫就對了...WHY??? 01/10 20:25
※ 編輯: wvwvwvwvwv (220.132.18.34), 01/10/2015 21:39:12