Re: [問題] 大小寫轉換

看板C_and_CPP (C/C++)作者 (好人超)時間16年前 (2009/02/23 23:42), 編輯推噓6(605)
留言11則, 6人參與, 最新討論串2/2 (看更多)
http://zh.wikipedia.org/wiki/ASCII 在ASCII編碼裡,小寫總是會比大寫還要大 也就是說,如果 ch >= 'a' 的話,那它一定是小寫了 如果是小寫,就先減掉'a',得知它是小寫的第幾個字 譬如說 'b'-'a' 就會得到 1 然後再加上 'A',換算成第幾個大寫字 剛剛的例子裡, 'A'+1 = 'B' 就得到了 大寫也是一樣的道理 可以更進一步寫成 ch = (ch >= 97) ? (ch - 32) : (ch + 32); 用常數來替代,看起來更簡潔,但會比較不直覺 XDD 剛剛看到推文有 ch ^= 0x20 用 XOR 運算 這個方法就更厲害了 XDD -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.104.62.38 ※ 編輯: james732 來自: 59.104.62.38 (02/23 23:45)

02/23 23:52, , 1F
請問ch不用寫成'ch'嗎,還是都可以
02/23 23:52, 1F

02/23 23:53, , 2F
ch是變數名稱唷 你寫成'ch' 還不會給你過...
02/23 23:53, 2F

02/23 23:55, , 3F
對喔@@我是好奇讀近的自元可以直接作加減
02/23 23:55, 3F

02/23 23:56, , 4F
目前手邊沒書,我明天再查書複習一下,感謝幫忙
02/23 23:56, 4F

02/24 00:01, , 5F
給qq.. 'ch' >= 'a' 會過,而且是永遠成立吧xd
02/24 00:01, 5F

02/24 00:04, , 6F
g++會給:warning: multi-character character constant
02/24 00:04, 6F

02/24 00:06, , 7F
不過確實會過 我還以為 ' ' 只能放一個字元而已 XDD
02/24 00:06, 7F

02/24 00:20, , 8F
喔喔不過VC會說什麼截斷 他幹麻給過呢= =
02/24 00:20, 8F

02/24 00:46, , 9F
我說的那個應該是螞蟻書上面的範例還是作業有出現
02/24 00:46, 9F

02/24 00:46, , 10F
哦哦 沒有仔細看過螞蟻書...(慚愧中)
02/24 00:46, 10F

02/24 11:48, , 11F
^0x20 只能用在 input 全是英文字母時
02/24 11:48, 11F
文章代碼(AID): #19eiFNOC (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #19eiFNOC (C_and_CPP)