[問題] 輸入字元並顯示其ASCII值

看板C_and_CPP作者 (大戰槍)時間14年前 (2009/08/01 18:47), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/1
問題是這樣的 「試寫一程式,由鍵盤輸字元,然後輸出其所對應的ASCII值,並且每一行只印八個字元 的ASCII值」 我的程式碼如下 #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { int i,num,multi=1; char ch[20]; scanf("%s",&ch); num = strlen(ch); for(i=0;i <= num; i++) { printf(" %c:%3d",ch[i],ch[i]); if(i == 8*multi-1) { printf("\n"); multi++; } } return 0; } 問題是:我輸入ABC...XYZ後,到Z顯示完畢後面會出現一個「 :0」的東西,請問一下那 個是'\n'嗎? 我該如何解決掉多餘的這一項呢?? 謝謝~~~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.43.191.246

08/01 19:04, , 1F
那是字串結尾的 0, 迴圈應該是 for(i=0;i<num;i++)
08/01 19:04, 1F
文章代碼(AID): #1AT1rM5q (C_and_CPP)