1、如果定义了一个动态a[25]的一维数组,我如果只对前20个赋初值的话,那么我用for(i=0;i<26;i++){……}来输出的话,那么后面的a[20]到a[25]会输出来怎么样的值?
2、假如我在主函数里面定义了一个int型数组b[10],并没有对他初始化,并将其作为一个函数的实参带入到函数中,如果函数中他对应的形参数组为bb[],那么在函数中对其直接赋值,不初始化可以吗?
你能帮我解释下这两种复制方法,对未赋值的元素输出的结果为什么会是不同的!谢谢你!
C语言规定,如果对数组初始化时,初始元素的数量少于数组元素的数量,那么剩下的元素将自动用0初始化。
追问这两个不都是初始元素少于数组元素吗?
追答第一个程序没有初始化
第二个程序才有初始化
int a[26]={1,2,5,8,9,8,5}
后面的
={1,2,5,8,9,8,5}
这才是初始化!
注意普通赋值与初始化的重大区别!