作者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/cn.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