[問題] 陣列問題

看板C_and_CPP作者 (藍天哥)時間4年前 (2019/12/05 23:06), 編輯推噓10(10010)
留言20則, 10人參與, 4年前最新討論串1/1
學校老師出了回家作業如下圖 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

12/05 23:17, 4年前 , 1F
陣列初始化歸零
12/05 23:17, 1F

12/05 23:27, 4年前 , 2F
int array1[ARRAYSIZE] = {0}, i = 0;
12/05 23:27, 2F

12/06 03:00, 4年前 , 3F
跟初始化歸零只有部份有關, 原 PO 的問題在他想試著存取
12/06 03:00, 3F

12/06 03:01, 4年前 , 4F
邏輯上所設定的陣列終點之後的東西
12/06 03:01, 4F

12/06 03:03, 4年前 , 5F
原 PO 在做的事是我要了一大塊空間來但只擺了五個東西
12/06 03:03, 5F

12/06 03:03, 4年前 , 6F
然後去看擺了東西之外的空間裡有什麼
12/06 03:03, 6F

12/06 03:05, 4年前 , 7F
那這個動作的意義就要看原 PO 想要做什麼而定了
12/06 03:05, 7F

12/06 03:06, 4年前 , 8F
然後「完全不要有東西」其實也是不甚清楚的要求
12/06 03:06, 8F

12/06 03:06, 4年前 , 9F
原 PO 是想要去試讀時該發生什麼事?
12/06 03:06, 9F

12/06 03:21, 4年前 , 10F
他的意思是 malloc?
12/06 03:21, 10F

12/06 12:14, 4年前 , 11F
我確定每個記憶體位置裡面一定存著0或1
12/06 12:14, 11F

12/06 12:25, 4年前 , 12F
所以一定會有東西
12/06 12:25, 12F

12/06 13:23, 4年前 , 13F
恩... segmentation fault...
12/06 13:23, 13F

12/07 09:13, 4年前 , 14F
在宣告陣列的地方設中斷點,直接看看在跑迴圈之前array1
12/07 09:13, 14F

12/07 09:13, 4年前 , 15F
裡面放了什麼
12/07 09:13, 15F

12/07 10:47, 4年前 , 16F
你沒初始化, 只是剛好 array1[5] 裡面存了1 才出現1
12/07 10:47, 16F

12/11 10:38, 4年前 , 17F
出現-1 break
12/11 10:38, 17F

12/14 14:40, 4年前 , 18F
後面東西你不要就不要存取就好了 什麼叫不要有東西
12/14 14:40, 18F

12/14 14:41, 4年前 , 19F
除非你用動態陣列
12/14 14:41, 19F

12/14 14:46, 4年前 , 20F
應該說 你宣告陣列的時候就建立了那麼多項~
12/14 14:46, 20F
文章代碼(AID): #1TwHpp89 (C_and_CPP)