[問題] sprintf 無法印出字串

看板C_and_CPP作者時間13年前 (2013/02/15 18:34), 編輯推噓1(106)
留言7則, 5人參與, 最新討論串1/3 (看更多)
大家好 我是新手 想請問 int main(void) { char str[10]; int num = 9; sprintf(str[2], "%d", num); printf("str = %s \n", str[2]); system("pause"); return(0); } 為何會無法執行 sprintf 不是將 num 轉成 字串 存到str[2]中嗎 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.36.201.242

02/15 18:35, , 1F
str就好 不要str[2] str[2]是str的第3個元素(type: char)
02/15 18:35, 1F

02/15 20:03, , 2F
sprintf(&str[2], "%d", num);
02/15 20:03, 2F

02/15 20:04, , 3F
printf("str = %s \n", &str[2]);
02/15 20:04, 3F

02/16 16:29, , 4F
printf加上&是輸出指標吧...
02/16 16:29, 4F

02/16 18:31, , 5F
輸出字串搭記憶體位址有什麼不對嗎...
02/16 18:31, 5F

02/16 18:39, , 6F
str[2] 不是記憶體位置
02/16 18:39, 6F

02/19 17:54, , 7F
我是覺得這樣有一種&(*(str+2))的感覺...
02/19 17:54, 7F
文章代碼(AID): #1H7WyyPQ (C_and_CPP)
文章代碼(AID): #1H7WyyPQ (C_and_CPP)