int arr[5]={1,2,3,4,5,6,7,8,9};
Run Code Online (Sandbox Code Playgroud)
这种声明方式不会出错,并且数组一直存储到第 4 个索引,如果我尝试输出 arr[5] ,它将给出垃圾值。任何人都可以解释这种方式是如何可能的吗?
编辑:我试图在在线编译器中运行以下代码:
#include <stdio.h>
int main() {
int arr[5]={1,2,3,4,5,6,7,8,9};
int i;
for(int i=0; i<6;i++){
printf("arr[%d]=%d\n", i,arr[i]);
}
return 0;
}
Run Code Online (Sandbox Code Playgroud) 请解释以下程序的输出:
#include <stdio.h>
int main(i) {
printf("i=%d\n",i);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出:i=1