C 为什么第二个元素打印为1? #包括 int main(){ int arr[4]={0,0,0,0}; int i; 对于(i=0;i

C 为什么第二个元素打印为1? #包括 int main(){ int arr[4]={0,0,0,0}; int i; 对于(i=0;i,c,sizeof,C,Sizeof,下面的C代码打印第二个元素,即arr为1。它应该打印0。其余元素将打印为0 提供编译器的屏幕截图和配置设置,因为我们无法复制该问题。它似乎工作得很好 #包括 int main(){ int arr[4]={0,0,0,0}; int i; 对于(i=0;i

下面的C代码打印第二个元素,即arr为1。它应该打印0。其余元素将打印为0


提供编译器的屏幕截图和配置设置,因为我们无法复制该问题。它似乎工作得很好

#包括
int main(){
int arr[4]={0,0,0,0};
int i;
对于(i=0;i

}

您使用的编译器是什么?您的结果无法复制。你确定这就是全部吗?你确定吗?就我而言,没有人。嗯。。。你确定只有你和一个有缺陷的编译器吗?gcc v4.9.3不会产生您声称的问题。编译器版本为gcc 4.6.3
#include <stdio.h>
int main(){
int arr[4]={0,0,0,0};
int i;
for(i = 0; i < sizeof(arr)/sizeof(arr[0]); i++){
    printf("%d ",arr[i]);
 }
}
#include <stdio.h>
int main(){
int arr[4]={0,0,0,0};
int i;
for(i = 0; i < sizeof(arr)/sizeof(arr[0]); i++){
    printf("%d ",arr[i]);
 }