第1个回答 2017-05-08
是否会自动赋值为0,取决于变量的类型。
1、全局变量,包括静态全局变量,和非静态全局变量,在没有初始化值时,其值自动为0.
即定义在所有函数外,不归属于任何一个函数的,在没有初始化值时,自动为0。
2、静态局部变量。
当定义在函数内的局部变量,有static 标记时,默认初始化为0值。
3、非静态局部变量,无默认初始值,C标准规定初始化值为随机值,但具体实现由编译器决定。
第2个回答 2010-09-13
函数外定义的变量,不管有没有加static,没有初始化的话,系统默认初始化为0;
函数体内定义的变量,只有加static,才会默认初始化为0;不然的话,它的值是未定义的(就是垃圾数据)本回答被提问者采纳
第3个回答 2010-09-13
是的.
a[2]=是错误的.
应该这样:a[2]=;数组a中有两个元素.
或者a[]=//让编译器自动计算数组中的元素个数.
一般初始化可以这样a[2]=让数组的两个元素都初始为0
对于二维以上的就这样a[2][3]={};//比一维多一对大括号{}
三维就a[2][3][4]={{}}
如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!
第4个回答 2010-09-13
除了静态数字型变量和全局数字型变量没初始化是自动赋值为0别的都不是,
别的都是一个不确定的数字(c/c++中称为垃圾数据),