C_and_CPP 板


LINE

小弟目前想寫一個字元轉數字的函數f(char),像是f(A)=0,f(B)=1,...,f(Z)=25這 樣,原本是打算用先將字元轉成int後,在使用函數判斷它轉成整數的範圍,然後再做 處理,但卻發現他會輸出兩個函數值(結尾的'\0'也會被計算),想請問各位前輩是否 有方法做到上述函數的功能,謝謝。 --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.251.141.96
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1557751107.A.2FC.html
1F:→ hsnuyi: 標題寫字串 內文寫字元 到底是字串還是字元? 05/13 20:52
2F:→ hsnuyi: 字元直接 c - 'A' 不就好了 05/13 20:54
※ 編輯: Holffman (111.251.141.96), 05/13/2019 21:41:27 標題有錯,已經改正。我有那樣試過,但編譯器還是會跑出不相關的數字,還是是因為 編譯器的問題(我用xcode)?謝謝 ※ 編輯: Holffman (111.251.141.96), 05/13/2019 21:42:58
3F:推 Schottky: 因為你寫錯了。為什麼自己錯都要第一個怪編譯器 XDDDD 05/13 21:53
痾 我只是想說會不會是那樣的問題,小弟C新手,還請S大賜教,謝謝。 ※ 編輯: Holffman (111.251.141.96), 05/13/2019 21:57:44
4F:→ Lipraxde: 那你附個 code 啊 05/13 22:07
int sti(char word){ int value=(int)word; if(value>=97){ value-=51; } else{ value-=65; } return value; }; void main(void){ char a; scanf("%c", &a); printf("%c=%d", a, sti(a)); return 0; } 如果輸入是大A,輸出會變成 A=0 =-55 ※ 編輯: Holffman (111.251.141.96), 05/13/2019 22:19:47
5F:推 b0920075: char也是數值直接比較就好了,你幹嘛轉成int再比較 05/13 22:26
了解,但這樣他是不是會比較兩次,假設輸入A,他會計算A和\0,如果是這樣,有沒有辦 法只讓他計算A的值。謝謝。 ※ 編輯: Holffman (111.251.141.96), 05/13/2019 22:35:09
6F:→ Lipraxde: 跟 '\0' 有啥干係? 05/13 22:50
7F:→ idiont: 你給的輸出應該不是用你給的程式碼跑出來的結果吧 05/13 22:55
8F:→ idiont: 猜測一下 你大概是用迴圈去讀 然後印出來吧 05/13 22:55
9F:→ idiont: 換行字元(ASCII編碼為10)留在buffer中被讀到 10-65=-55 05/13 22:56
10F:→ idiont: 使用%s讀字串才會有所謂的'\0' 他的ASCII編碼是0 05/13 22:57
11F:→ idiont: main function的return type也應該是int 05/13 22:58
12F:推 b0920075: 一個char就放一個byte,你的null byte從哪裡來的? 05/14 01:58
13F:推 caras: 你貼的這段 code 必定沒有你說的問題 XD 05/14 04:13
14F:→ caras: 別搞我們了,把真正出問題的 code 貼出來 05/14 04:13
15F:→ caras: 別叫我們通靈,上次通靈王大戰搞到生靈塗炭 XD 05/14 04:15
16F:→ MOONRAKER: 水晶球,顯出… 05/14 12:16
17F:→ Holffman: https://i.imgur.com/e5zgKnp.jpg 05/14 13:09
18F:→ Holffman: 抱歉造成大家的困擾,我的確有用for loop 圖片中是原始 05/14 13:09
19F:→ Holffman: 程式碼與編譯出的結果 謝謝大家 05/14 13:09
20F:→ RishYang: value=-51有什麼用途,純粹好奇 05/14 14:18
21F:→ Holffman: 我想要拿array來儲存輸入的字元,然後那個function是要 05/14 14:46
22F:→ Holffman: 用來產生正確index用的(輸入只會有26個英文字母的大小 05/14 14:46
23F:→ Holffman: 寫) 05/14 14:46
24F:推 Gway: C的scanf老問題 可以google看一下 如有餘力請順道看一下如 05/15 17:01
25F:→ Gway: 何scanf 讀取含空白的string 不然我猜你之後會再上來問類似 05/15 17:01
26F:→ Gway: 的問題 05/15 17:01







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Soft_Job站內搜尋

TOP