中易网

C语言数组定义的问题:A[n]是定义了n个元素还是定义了n+1个元素?

答案:4  悬赏:10  
解决时间 2021-01-15 22:08
C语言数组定义的问题:A[n]是定义了n个元素还是定义了n+1个元素?
最佳答案
A[n]—表示定义了一个含有n个元素的一维数组,数组元素的范围:A[0]~A[n-1],没有A[n]这个元素的。追问你好,我定义了A[1],并且确实输入了两个值到A[0]A[1],这怎么解释呢?并且也能够输出A[0]A[1]追答为什么呢,因为&A[1]这个地址在内存中是客观存在的,确实存在这个地址,这个没有错,你用scanf()函数这样赋值的话当然可以输出来啊。为什么C语言要规定没有A[n]这个值呢,这个涉及到范围边界问题。示例程序如下:
#include 
int main()
{
int a[3]={1,3,5}; //对数组初始化
int i;
for(i=0;i<=3;i++)
printf("a[%d]=%p
",i,&a[i]); //输出数组元素的地址a[3]的地址值比a[2]的地址值大4
printf("
");
for(i=0;i<=3;i++)
printf("a[%d]=%d
",i,a[i]); //输出数组元素的值,输出a[3]的值是个随机值
return 0;
}运行结果:

a[0]=0060FF00
a[1]=0060FF04
a[2]=0060FF08
a[3]=0060FF0C


a[0]=1
a[1]=3
a[2]=5
a[3]=3
追问能说一下范围边界的问题吗?有资料我了解一下也可以
全部回答
这个表示定义n个元素
定义的时候 int A[n] 定义了n个元素
使用的时候 A[m] 代表第m+1个元素(起始位置是0)
例如一个队有10个人,报数,第一个人报0,第二个人报1,第三个人报2...第十个人报9
在C数组中 定义一个A(N) 就有N个元素,比如 A(1) 就代表一个元素,访问时 为A(0)

至于定义的A(1)中 访问 A(1)时,有返回,,那是因为返回的值是\0,,即空。或者,结束符,
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
男对女说真不上道啥意思?
团课主题有什么,提供五个
江苏省优抚对象抚恤补助证有什么用
如果两个人心的距离越来越远,沟通越来越少,
爱云兔现在好不好用?有人用过么?
想入Cos圈,身高166,圆脸,上半身还好,就是
被电话骗了6万块,真的好伤心有没有谁跟我一
突然觉得恒大引进保利尼奥真划算,物美价廉
“直肠子”人好不好?为什么?
如何更换ipad的apple id
“仰宇宙之无穷,俯究万类之运动,观古今之须
iphone上safari浏览器web编程问题,有一个inp
登录刺激战场用qq号不知道密码怎么办
金融危机后哪个行业最先复苏
请问一下 大家初看图片上这种穿衣打扮的以为
推荐资讯
体罚比爱的教育更有效。可以提什么问题来反驳
有什么中国奇迹简单介绍
从偃师去三化乡怎么坐车
悦家主题酒店地址在什么地方,想过去办事
天天打电话手举着好累呀。有没有什么办法让座
在编老师可以考新任教师招聘吗?
葬礼磕头时放屁是哪部韩国电影,后面人的头发
dn活动f预约职业选错了可以删除从新选吗?
联想一体机b325可以升级配置么
邵东那里有手工活拿回家
为什么潍坊叫鸳都
比42米多1/6的是( )米
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?