搜索
编程论坛
→
开发语言
→
C++论坛
→
『 C++教室 』
→ 请教关于数组默认值的问题
标题:
请教关于数组默认值的问题
只看楼主
鼻涕龙
等 级:
新手上路
帖 子:22
专家分:8
注 册:2010-6-3
结帖率:
100%
楼主
已结贴
√
问题点数:20 回复次数:7
请教关于数组默认值的问题
如果给出数组元素个数,如int ia[5]={3,5,7};这样赋值系统默认ia[3],ia[4]的值分别为 0, 0。
但是不给数组元素个数,如int ia[]={3,5,7};这样赋值系统默认ia[3],ia[4]的值分别为 3, 4。
为什么呢?
搜索更多相关主题的帖子:
元素
2010-06-05 15:49
南国利剑
等 级:
贵宾
威 望:
29
帖 子:1165
专家分:3536
注 册:2010-4-12
第
2
楼
得分:10
第一句话对。
第二句 ,不对。
如果没有给出数组的长度,那么长度就是你在后面给出的几个数值就有几个元素。所以你所举的例子的数组ia就只有三个元素了。
南国利剑
2010-06-05 15:52
鼻涕龙
等 级:
新手上路
帖 子:22
专家分:8
注 册:2010-6-3
第
3
楼
得分:0
那就是说第二句 ia[3]实际上就是ia[0]了?
个人觉得向第二句这样的系统应该会提示ia[3]不存在啊?
2010-06-05 16:26
blocksky
该用户已被删除
第
4
楼
得分:0
提示:
作者被禁止或删除 内容自动屏蔽
2010-06-05 17:32
鼻涕龙
等 级:
新手上路
帖 子:22
专家分:8
注 册:2010-6-3
第
5
楼
得分:0
编译通过了
2010-06-05 17:38
lintaoyn
等 级:
小飞侠
威 望:
4
帖 子:605
专家分:2489
注 册:2009-4-8
第
6
楼
得分:10
但是不给数组元素个数,如int ia[]={3,5,7};这样赋值系统默认ia[3],ia[4]的值分别为 3, 4。
ia[3],ia[4]你这样就是越界了,C++和C不检查数组有没有越界(所以是会通过编译的),有没有越界是我们自己要检查的,访问ia[3]ia[4]得到的值没什么意义,但是修改的ia[3]ia[4]的值就是很危险的事。
迭代的是人,递归的是神。
2010-06-05 17:44
鼻涕龙
等 级:
新手上路
帖 子:22
专家分:8
注 册:2010-6-3
第
7
楼
得分:0
明白了!谢谢大家
2010-06-05 17:52
Isilendil
来 自:广东省广州市
等 级:
论坛游民
帖 子:13
专家分:42
注 册:2010-6-2
第
8
楼
得分:0
典型的缓冲区溢出,a[3]和a[4]的值未必是3和4,我在自己的机器上用Dev-C++,得到的结果是4198592和4370432。
结果应该是依赖于编译器或者机器吧
2010-06-06 13:27
8
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-309305-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.129420 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved