C语言数组定义的问题:A[n]是定义了n个元素还是定义了n+1个元素?
C语言数组定义的问题:A[n]是定义了n个元素还是定义了n+1个元素?A[n]是定义了n个元素还是定义了n+1个元素?...
C语言数组定义的问题:A[n]是定义了n个元素还是定义了n+1个元素?A[n]是定义了n个元素还是定义了n+1个元素?
展开
4个回答
展开全部
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 <stdio.h>
int main()
{
int a[3]={1,3,5}; //对数组初始化
int i;
for(i=0;i<=3;i++)
printf("a[%d]=%p\n",i,&a[i]); //输出数组元素的地址a[3]的地址值比a[2]的地址值大4
printf("\n");
for(i=0;i<=3;i++)
printf("a[%d]=%d\n",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
展开全部
在C数组中 定义一个A(N) 就有N个元素,比如 A(1) 就代表一个元素,访问时 为A(0)
至于定义的A(1)中 访问 A(1)时,有返回,,那是因为返回的值是\0,,即空。或者,结束符,
至于定义的A(1)中 访问 A(1)时,有返回,,那是因为返回的值是\0,,即空。或者,结束符,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2016-11-23
展开全部
定义的时候 int A[n] 定义了n个元素
使用的时候 A[m] 代表第m+1个元素(起始位置是0)
例如一个队有10个人,报数,第一个人报0,第二个人报1,第三个人报2...第十个人报9
使用的时候 A[m] 代表第m+1个元素(起始位置是0)
例如一个队有10个人,报数,第一个人报0,第二个人报1,第三个人报2...第十个人报9
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询