c语言中的未赋值参数是否默认为0

{int a;......}是否在执行过程中a默认为0?
2025-02-23 17:05:50
推荐回答(3个)
回答1:

不确定。
但一般情况是,静态变量(static)与全局变量都默认为0,局部变量值不确定(很多情况下不为0)。
你可以测试一下:
#include

int a; //全部变量
int main()
{
static int b;
int c;
printf("a = %d, b = %d, c = %d\n", a, b, c);
return 0;
}

变量在定义时就将其初始化是比较完全的方法。很多软件问题都是由于变量未初始化引起。

回答2:

不是,输出的是一个不确定数

回答3:

不是。