[问题] 阵列问题

楼主: 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