C语言数组初始化的坑
如下代码,输出结果是什么?
#include <stdio.h>
int main()
{
int arr[10] = {10};
for(int i = 0;i < 10;i++)
printf("%d\n",arr[i]);
return 0;
}
输出结果:
10
0
0
0
0
0
0
0
0
0
本来以为应该全部输出的是10。
看到介绍:https://en.cppreference.com/w/c/language/array_initialization
文中有几个例子,引以为戒:
int x[] = {1,2,3}; //......