<分区>
如果我们有一个全局定义的变量“x”和一个函数内的另一个同名变量“x”。当我们打印“x”的值时,为什么我们总是得到函数内部赋值的值?有什么方法可以打印全局变量值。
int x=8;
void testCode()
{
int x=2;
printf("%d",x); //prints 2
}
标签 c
<分区>
如果我们有一个全局定义的变量“x”和一个函数内的另一个同名变量“x”。当我们打印“x”的值时,为什么我们总是得到函数内部赋值的值?有什么方法可以打印全局变量值。
int x=8;
void testCode()
{
int x=2;
printf("%d",x); //prints 2
}
最佳答案
在其他语言中,是的。在 C 中,无法在同一范围内访问全局。有一种方法可以声明嵌套作用域(请参阅其他答案),这将使您能够访问非静态全局变量,但不建议这样做 - 不要这样做。如果要获取全局变量,不要用同名局部变量隐藏。
关于c - 理解全局变量的概念,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18858552/