看板 C_and_CPP 關於我們 聯絡資訊
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 ) ( 未必需要依照此格式,文章條理清楚即可 ) 遇到的問題: (題意請描述清楚) 我正在寫infix to postfix 的計算程式,我的infix to postfix沒有演算法上的問題 例如 輸入infix: A*(B+C)/D+2 會輸出postfix: ABC+*D/2+ 可是我的問題是...ABC是個位數就ok,如果是十位數...就不行了 12+5會變成7,1被忽略 我後來想到的是如果我連讀到兩個字元,就把第一個*10+第二個,這樣就可以變成 '12' + '5' 可是...'12'是一個char所以就出現bug了 我最後作運算時候是用atof(char)把吃進來的轉到數字,但是遇到 我用剛那種算法求出來的就沒用了,請問我該怎麼辦@@ 目前最希望可以找到函數f可以這樣 char a = 12; f(a) = 12; 如果沒有的話我只好慢慢再想別的辦法了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.37.177.117
lagerway:char a[3]="12"; atoi(a)就會等於12 注意是"12" 雙引號 04/14 03:03
lagerway:雙引號表示字串 而單引號表示"字元" 04/14 03:04
yuscvscv:有這東西嗎= =? '12' "12" 是由 '1' 和 '2'組成的啊 04/14 08:31
yuscvscv:我覺得元PO對字串和字元不太了解的說 04/14 08:32
pichubaby:樓上怪怪的歐 "12"是 '1' '2' '\0' 04/14 08:48
yuscvscv:抱歉漏了,不過我想表達的是原PO的例子,他的12後面還有 04/14 10:18
yuscvscv:接其他東西,所以就沒注意這細節 04/14 10:18
taiwan2000:1F的意思和5F一樣 04/14 10:35