作者weselyong (Wesely翁)
看板C_and_CPP
標題[問題] 請問關於char與int之間互相轉換...
時間Wed Apr 14 02:58:40 2010
( *[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