C语言数组定义的问题:A[n]是定义了n个元素还是定义了n+1个元素?A[n]是定义了n个元素还是定义了n+1个元素?
你好,我定义了A[1],并且确实输入了两个值到A[0]A[1],这怎么解释呢?并且也能够输出A[0]A[1]
追答为什么呢,因为&A[1]这个地址在内存中是客观存在的,确实存在这个地址,这个没有错,你用scanf()函数这样赋值的话当然可以输出来啊。为什么C语言要规定没有A[n]这个值呢,这个涉及到范围边界问题。示例程序如下:
#include <stdio.h>运行结果:
a[0]=0060FF00
a[1]=0060FF04
a[2]=0060FF08
a[3]=0060FF0C
a[0]=1
a[1]=3
a[2]=5
a[3]=3
追问能说一下范围边界的问题吗?有资料我了解一下也可以