69,382
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
void test(int a[]);
int main()
{
int a[10];
a[15] = 0;
printf("%d\n",a[15]);
/*就是这行,在main函数里只定义了一个10个元素的数组,,为什么a[15]也能运行呢?而且赋值都是对的
形参的数组大小不确定,这个知道,但为什么在main函数里,也能这样呢?
定义以后,应该分配内存,只为a[0]-a[9]分配,a[15]没有分配怎么可以用?*/
test(a);
printf("%d\n",a[15]);
return 0;
}
void test(int a[])
{
a[15] = 1;
printf("%d\n",a[15]);
}