看板 C_and_CPP 關於我們 聯絡資訊
學校老師出了回家作業如下圖 https://i.imgur.com/pxJRzxz.jpg
目前卡在 我先設定array1大小是100 然後因為題目說-1是sentinel value 所以就我的認知在-1以後的數字並不會讀進去 但是在我試著print看看-1以後的位數卻又跑出1 https://i.imgur.com/BqbPlb8.jpg
想請教 有沒有辦法只讀到-1 後面完全不要有東西? 即陣列長度是隨著我輸入的位數而改變 麻煩大家了 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.34.203.57 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1575558387.A.209.html
chuegou: 陣列初始化歸零 12/05 23:17
cuteSquirrel: int array1[ARRAYSIZE] = {0}, i = 0; 12/05 23:27
LPH66: 跟初始化歸零只有部份有關, 原 PO 的問題在他想試著存取 12/06 03:00
LPH66: 邏輯上所設定的陣列終點之後的東西 12/06 03:01
LPH66: 原 PO 在做的事是我要了一大塊空間來但只擺了五個東西 12/06 03:03
LPH66: 然後去看擺了東西之外的空間裡有什麼 12/06 03:03
LPH66: 那這個動作的意義就要看原 PO 想要做什麼而定了 12/06 03:05
LPH66: 然後「完全不要有東西」其實也是不甚清楚的要求 12/06 03:06
LPH66: 原 PO 是想要去試讀時該發生什麼事? 12/06 03:06
CoNsTaR: 他的意思是 malloc? 12/06 03:21
s4300026: 我確定每個記憶體位置裡面一定存著0或1 12/06 12:14
s4300026: 所以一定會有東西 12/06 12:25
Lipraxde: 恩... segmentation fault... 12/06 13:23
kaneson: 在宣告陣列的地方設中斷點,直接看看在跑迴圈之前array1 12/07 09:13
kaneson: 裡面放了什麼 12/07 09:13
x246libra: 你沒初始化, 只是剛好 array1[5] 裡面存了1 才出現1 12/07 10:47
lllll12b56: 出現-1 break 12/11 10:38
leegogo: 後面東西你不要就不要存取就好了 什麼叫不要有東西 12/14 14:40
leegogo: 除非你用動態陣列 12/14 14:41
leegogo: 應該說 你宣告陣列的時候就建立了那麼多項~ 12/14 14:46