看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) DEV-C++ 問題(Question): 題目主要是說 每個電話號碼可以對應到三個英文字母(程式尚未完成) 但在字串處理上碰到一些問題 就是在i以後的字串 都會多印很多個字元 不知道是什麼問題 麻煩解答一下 謝謝! 程式碼(Code):(請善用置底文網頁, 記得排版) #include <iostream> #include <string> using namespace std; int main() { char *number[10]={"0","0","ABC","DEF","GHI","JKL","MNO","PRS","TUV","WXY"}; int in,phone[7]; int a,b,c,d,e,f,g; int w; char h[3],i[3],j[3],k[3],l[3],m[3],n[3]; cout<<"Please enter the phone number"; cin>>in; for(w=6;w>=0;w--) { phone[w]=in%10; in=in/10; } for(w=0;w<=2;w++) { h[w]=*number[phone[0]]+w; i[w]=*number[phone[1]]+w; j[w]=*number[phone[2]]+w; k[w]=*number[phone[3]]+w; l[w]=*number[phone[4]]+w; m[w]=*number[phone[5]]+w; n[w]=*number[phone[6]]+w; } cout<<h<<i<<j<<k<<l<<m<<n; system("Pause"); return 0; } 補充說明(Supplement): 這是螞蟻本內的題目 第七版的8.11題 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.115.200.8
james732:看起來應該是忘了結束字元 12/20 07:33
DEATHX:的確,h等陣列僅只是字元陣列而非C風格字串,電腦會一直印 12/20 07:56
DEATHX:直到找到'\0'為止 12/20 07:56
所以要怎麼結束才好?? ※ 編輯: o3208 來自: 140.115.200.8 (12/20 11:55)
DEATHX:把那些陣列宣告成4個元素,再自己把最後一個元素塞'\0'囉。 12/20 16:39
james732:都用C++了,可以考慮把char *改成string 12/21 01:12
感謝,已解決! ※ 編輯: o3208 來自: 140.115.200.8 (12/21 02:49)
angleevil:超哥最近消失的感覺 12/21 09:04