Re: [語法] %d和%s的實際行為?
※ 引述《raincole (冷雨)》之銘言:
: 我想請問的是printf中%d和%f的事實上是如何作用的。
: 例如說printf("%s");會記憶體錯誤,但printf("%d");只是輸出一個垃圾值,
: 是什麼原因造成這種差別?
printf 有很多參數
第一個是格式 "%s" or "%d" ...
然後後面一個一個是要印出來的值
當你沒有指定的時候
也不知道他是去stack還是哪裡讀得參數...
那如果讀到1000,他就印出數字1000
或是,他就去記憶體位址1000的地方找字串來印...
問題是那個位址不一定是有效的位址...所以就出錯了
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 211.74.186.18
→
12/21 19:56, , 1F
12/21 19:56, 1F
→
12/21 19:57, , 2F
12/21 19:57, 2F
→
12/21 19:57, , 3F
12/21 19:57, 3F
→
12/21 20:12, , 4F
12/21 20:12, 4F
→
12/21 20:23, , 5F
12/21 20:23, 5F
→
12/22 00:12, , 6F
12/22 00:12, 6F
推
12/22 05:12, , 7F
12/22 05:12, 7F
→
12/22 05:13, , 8F
12/22 05:13, 8F
→
12/22 05:13, , 9F
12/22 05:13, 9F
討論串 (同標題文章)