全局变量验证

Global variable validation?

本文关键字:验证 全局变量      更新时间:2023-10-16

我希望输出为 10但我得到 11根据我在调用 fun 函数时的知识,它应该需要全局变量。??

#include <iostream>
using namespace first;
int var = 0;
void fun()
{
    cout << var;
}
int main()
{  
    var = 1;
    cout << var;
    fun();
}

您将"var"的值重新分配给 1,然后打印"var"两次。 这就是为什么你得到 11 作为输出。

你只声明var一次。如果通过局部声明隐藏全局变量,则将使用局部变量。

例如,请参阅此 StackOverflow 帖子以获取有关阴影如何工作的信息。

int main()
{  
    int var=1;
    cout<<var;
    fun();
}

目前,您只是在修改全局,而不是创建一个范围为 main() 的新全局。

然后你的输出将是

10

1分配给var后,您将打印 2 次相同的变量 - 请注意,您不是在创建 2 个不同的变量,而是在更改变量的值。

var=0则 var=1打印变量两次输出 11