[問題] 英文字母換成ascii碼??

看板C_and_CPP作者 (范光)時間12年前 (2012/05/27 22:52), 編輯推噓1(103)
留言4則, 4人參與, 最新討論串1/1
我想要把a直接換成ascii碼 丟到別的地方 所以寫了這個東西出來 _____________________________ #include <stdio.h> int main(){ char a; int integer; while( scanf("%c",&a) == 1 ){ integer = a; printf("%d",integer); } return 0; } ______________________________ 可是今天我輸入大寫的A 出來的結果是6510 如果是integer-65 出來變成 0-55 這個65跟10似乎是分開的 卻裝在同一個int裡面?? 請問為什麼會這樣呢?? 如果要換成ascii碼應該要怎麼換會比較正確?? 先謝謝大家了!!!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.50.61.41

05/27 22:57, , 1F
你讀到的是兩個字元 'A'和'\n'
05/27 22:57, 1F

05/27 23:11, , 2F
實際上迴圈跑了兩次 :)
05/27 23:11, 2F

05/27 23:15, , 3F
a本來就是ascii碼了,不用換成int
05/27 23:15, 3F

05/27 23:21, , 4F
integer
05/27 23:21, 4F
感謝指正 所以說迴圈跑了兩次........ 謝謝各位的解答!!!! ※ 編輯: gary22204 來自: 123.50.61.41 (05/27 23:36)
文章代碼(AID): #1FmZ-nF3 (C_and_CPP)