[C语言] 作用域局部变量相关

int main(void)
{
int a = 0;
{
int a = 5; // 提问:为什么这里在括号内部还能再次定义一个变量a ,和函数中的局部变量类似吗,这样的话计算机如何区分内部的变量a和外部的变量a的。
}
printf("%d",a); //运行结果 为0
}

这两个都是自动变量,具有块作用域。花括号括起来的就可以看作一个块。在内部这花括号里,a的值是5,出了这个块,值就是0。