i的值是在for循环里定义的,所以你后面调用会显示i未声明。如果你想输出数组的值,应该再写一个for循环。for(int i=0; i<4; i++){printf("%d",a[i]);}
把printf 放到for 循环体内
问题本质是 i 的作用域问题 导致的 for(int i) 这个i 的作用域只在for 循环体内 也就是循环结束后I 就被释放了