我有这个 C 代码片段
int numbers[4]={1};
numbers[0]=1; numbers[1]=2; numbers[3]=3; numbers[10]=4;
printf("numbers: %d %d %d %d %d %d\n",numbers[0],numbers[1],numbers[3],numbers[6],numbers[10], numbers[5]) ;
此片段的输出产生:
numbers: 1 2 3 963180397 4 0
好吧,我有几个问题
不会设置 numbers[10] 给出错误,因为数组的大小仅为 4,如果不是那么为什么(因为它没有给出任何错误)
为什么打印 numbers[6] 给出垃圾值,而 numbers[5] 给出 0 值?它不应该也是一个垃圾值。
设置 numbers[10] 有什么影响我知道它不会增加数组的大小但是它会做什么呢?
提前致谢 。PS我用GCC编译代码!!