7
关于C中的数组初始化的困惑
在C语言中,如果初始化这样的数组: int a[5] = {1,2}; 那么所有未显式初始化的数组元素将被隐式初始化为零。 但是,如果我这样初始化一个数组: int a[5]={a[2]=1}; printf("%d %d %d %d %d\n", a[0], a[1],a[2], a[3], a[4]); 输出: 1 0 1 0 0 我不明白,为什么要a[0]打印1而不是0?它是不确定的行为吗? 注意:这个问题是在采访中提出的。