Re: [問題]雙重 指標存取字串

看板C_and_CPP (C/C++)作者 (人,原來不是人)時間10年前 (2016/04/05 02:55), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串2/3 (看更多)
因為想知道為什麼會在執行階段錯誤,所以嚐試修改後終於能成功執行 http://ideone.com/ORhzad 把這段程式碼貼到 notepad++ 後,用 cygwin 提供的 gcc 編譯執行就出現錯誤的結果 https://i.imgur.com/JqIzjjE.png
嚐試各種修改後,終於找到能成功編譯執行的方法 就是把原本 n = 0 改成 n = -3,結束條件從原本 n < 3 改成 n < 1 最終的結果跟 ideone 是反過來,因為變成從 YOU 開始印 https://i.imgur.com/5RuOQWR.png
最奇怪的地方是我把原作者的 http://ideone.com/UhNQlR 加上 temp = string1; 並改了一行 ptr = &temp 後用 cygwin 提供的 gcc編譯執行,執行出來的結果是 BOOK 跟 YOU 都有正確印出來,但 FOR 沒能正確印出來,直到我又改了一行 n < 4 後才能正確印出 FOR,不過在 n=1 時印出來的結果依舊是錯的 像這樣 https://i.imgur.com/TqziqKc.png
-- 大概是 cygwin 提供的 gcc 版本比較不正常? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.254.6.11 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1459796152.A.761.html

04/05 08:36, , 1F
沒錯誤只是單純運氣好
04/05 08:36, 1F
文章代碼(AID): #1N0hYuTX (C_and_CPP)
文章代碼(AID): #1N0hYuTX (C_and_CPP)