在 C 中,变量的多次初始化不会引发错误。为什么?

In C, multiple initialization of a variable is not throwing an error. Why?

在下面的代码中,一个变量被多次初始化。

为什么这段代码没有抛出错误?

int main() 
{ 
  int x;
  x=5;
  x=10;
  printf("\nx=%d",x) ;
}

程序输出

x = 10

您根本没有进行任何初始化

初始化是

int x = 0;

在定义中初始化变量的位置。

例如

x = 5;

您只需分配一个新值给变量x

非常量变量不是不可变的。您可以多次为变量赋值。

因为您所做的只是将变量 int x 重新分配给另一个值

只有在变量为常量的情况下,多次初始化才会报错。 非常量变量可以多次初始化。

你可以用

const int x=0

这样就不允许多次初始化。