作者tommy210959 (藍天哥)
看板C_and_CPP
標題[問題] 陣列問題
時間Thu Dec 5 23:06:25 2019
學校老師出了回家作業如下圖
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://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1575558387.A.209.html
1F:推 chuegou: 陣列初始化歸零 12/05 23:17
2F:推 cuteSquirrel: int array1[ARRAYSIZE] = {0}, i = 0; 12/05 23:27
3F:推 LPH66: 跟初始化歸零只有部份有關, 原 PO 的問題在他想試著存取 12/06 03:00
4F:→ LPH66: 邏輯上所設定的陣列終點之後的東西 12/06 03:01
5F:→ LPH66: 原 PO 在做的事是我要了一大塊空間來但只擺了五個東西 12/06 03:03
6F:→ LPH66: 然後去看擺了東西之外的空間裡有什麼 12/06 03:03
7F:→ LPH66: 那這個動作的意義就要看原 PO 想要做什麼而定了 12/06 03:05
8F:→ LPH66: 然後「完全不要有東西」其實也是不甚清楚的要求 12/06 03:06
9F:→ LPH66: 原 PO 是想要去試讀時該發生什麼事? 12/06 03:06
10F:推 CoNsTaR: 他的意思是 malloc? 12/06 03:21
11F:推 s4300026: 我確定每個記憶體位置裡面一定存著0或1 12/06 12:14
12F:推 s4300026: 所以一定會有東西 12/06 12:25
13F:→ Lipraxde: 恩... segmentation fault... 12/06 13:23
14F:推 kaneson: 在宣告陣列的地方設中斷點,直接看看在跑迴圈之前array1 12/07 09:13
15F:→ kaneson: 裡面放了什麼 12/07 09:13
16F:推 x246libra: 你沒初始化, 只是剛好 array1[5] 裡面存了1 才出現1 12/07 10:47
17F:→ lllll12b56: 出現-1 break 12/11 10:38
18F:推 leegogo: 後面東西你不要就不要存取就好了 什麼叫不要有東西 12/14 14:40
19F:→ leegogo: 除非你用動態陣列 12/14 14:41
20F:推 leegogo: 應該說 你宣告陣列的時候就建立了那麼多項~ 12/14 14:46