[問題] 陣列問題

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

Links booklink

Contact Us: admin [ a t ] ucptt.com