[問題] sprintf的問題

看板C_and_CPP作者 (異想天開)時間11年前 (2013/04/12 19:33), 編輯推噓0(004)
留言4則, 3人參與, 最新討論串2/2 (看更多)
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) C語言 問題(Question): 把rowname[0]放入c1 把rowname[1]放入c2 ..... 把rowname[11]放入c12 預期的正確結果(Expected Output): rowname[0] = "c1"; rowname[1] = "c2"; ..... rowname[12] = "c12"; 錯誤結果(Wrong Output): rowname[11]~rowname[12]都是亂碼 *[36m程式碼:*[m char *rowname[MNUMROWS]; for(i=0;i<12;i++){ rowname[i]="c%d"; sprintf(&rowname[i],"%d",i); } 補充說明(Supplement): 爬過文了,還是跑不出正確答案 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.157.109

04/12 19:42, , 1F
rowname[i]都是指向唯讀字串...如何能寫入?
04/12 19:42, 1F

04/12 20:01, , 2F
rowname[i] = (char *) malloc(sizeof(char) * LEN);
04/12 20:01, 2F

04/12 20:01, , 3F
sprintf(rowname[i], "c%d", i);
04/12 20:01, 3F

04/12 21:23, , 4F
把冰箱放入大象。
04/12 21:23, 4F
文章代碼(AID): #1HP_3_8t (C_and_CPP)
文章代碼(AID): #1HP_3_8t (C_and_CPP)