作者xucin (vegetable)
看板C_and_CPP
標題[問題] struct的問題
時間Wed Oct 28 16:33:11 2015
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
GCC
問題(Question):
餵入的資料(Input):
讀取檔案
預期的正確結果(Expected Output):
產生印出檔
錯誤結果(Wrong Output):
compile正常但執行結果不如預期
程式碼(Code):(請善用置底文網頁, 記得排版)
http://ideone.com/90CE62
上面是我的code
第31行的bbbb陣列我在下面的程式完全沒有用
也就是說 sen.bbbb這個參數沒用到
但是我把 31行砍掉後
下面printf的結果會全部消失
why?
---------------------------------------
我測試了一下在接字元時(107行)
如果把dist[5]改成sen.bbbb時
前面102行的%c值會不對
也舊是104行印出來的sen.name字元數會超過五個
why?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.118.127.111
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1446021194.A.B78.html
→ Caesar08: [重要] 發文前務必閱讀:常見問題十三誡 第二個 10/28 16:47
→ xucin: 那個小bug我沒有發現 但好像不是這個原因 我改成6還是一樣 10/28 16:55
→ Caesar08: 更新你的code吧 10/28 17:23
推 yvb: " EGC " 字串長度 5, 但隱含 '\0' 在最後, 所以共 6 個字元. 10/28 17:38
已解決 非常感激 請問一下 字串長度 sen.name的長度為什麼會
影響到下一個變數的值?
是因為struct記憶體位置會剛好在隔壁嗎??
※ 編輯: xucin (140.118.127.111), 10/28/2015 17:56:25
→ yvb: 上述疑問, 可以自行動手做, 試著把位址印出來看看. 10/29 16:19