[問題] const的問題

看板C_and_CPP (C/C++)作者 (世事難預料)時間16年前 (2009/12/02 18:40), 編輯推噓3(309)
留言12則, 6人參與, 最新討論串1/2 (看更多)
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 ) ( 未必需要依照此格式,文章條理清楚即可 ) 遇到的問題: (題意請描述清楚) 我有兩個字串分別是:   const char *input = "12pp";   const char *output; 經過了一些運算後,我希望讓output的內容也為"pp" 不太知道如何著手,請板上前輩們給點意見 希望得到的正確結果: input="12pp"時 output="pp" 程式跑出來的錯誤結果: 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux) gcc/linux 有問題的code: (請善用置底文標色功能) 補充說明: 初學C語言,這個步驟我卡關卡很久,希望大家能給點意見或關鍵字提示 非常感謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.251.143.250

12/02 18:48, , 1F
如果你願意拿掉const就很簡單@@, 不拿掉, ㄜ~純C不熟QQ
12/02 18:48, 1F

12/02 18:49, , 2F
別讓我QQ阿...y
12/02 18:49, 2F

12/02 18:54, , 3F
output = input;
12/02 18:54, 3F

12/02 18:57, , 4F
const char *output=&input不就好了?還是我會錯意
12/02 18:57, 4F
抱歉樓上各位前輩!題意不清,在此先與大家鞠躬道歉! 我把我的code貼出來好了 int main(int argc, char *argv[]) { const char *input = "t3454y542g35grt24"; const char *output = NULL; int i, j=0; for (i=0; i<strlen(input); i++) { if(isalpha(input[i])) { const char *output[j]=&input[i];,,,,有問題的是這行 j++; 該如何一個字一個字回填呢? } } } 也就是說我希望程式執行完以後,output="tyggrt" ※ 編輯: cfleu 來自: 60.251.143.250 (12/02 19:03) ※ 編輯: cfleu 來自: 60.251.143.250 (12/02 19:05)

12/02 19:07, , 5F
整個觀念都錯了,從頭開始看吧,沒學到const前先別用
12/02 19:07, 5F

12/02 19:07, , 6F
我想請問你的 output 寫 const 的理由...?
12/02 19:07, 6F
>//<大大好眼力! 因為後面有個function要用到,而他的格式是 function(const char, int.....) 而我想再輸入以前,對字元先做點前處理,才發生了這場烏龍,希望大家能給點方向! 感謝 ※ 編輯: cfleu 來自: 60.251.143.250 (12/02 19:10)

12/02 19:13, , 7F
第二個問題,請問你 input 到 output 的關係?
12/02 19:13, 7F

12/02 19:13, , 8F
單純的只是把數字去掉嗎?
12/02 19:13, 8F

12/02 19:13, , 9F
是的!
12/02 19:13, 9F

12/02 19:16, , 10F
一開始output給NULL之後就不能再改了吧
12/02 19:16, 10F

12/02 19:17, , 11F
const修飾的是*output,所以還是能改output的指標值
12/02 19:17, 11F

12/02 19:18, , 12F
>//<貼錯了,總之,我把他拿掉了。。。
12/02 19:18, 12F
文章代碼(AID): #1B5aGkpk (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1B5aGkpk (C_and_CPP)