我期待输出为10 但我得到11 根据我的知识调用有趣的功能,它应该采取 全局变量。 ??
#include <iostream>
using namespace first;
int var = 0;
void fun()
{
cout << var;
}
int main()
{
var = 1;
cout << var;
fun();
}
答案 0 :(得分:4)
您只需声明var
一次。如果通过局部声明来遮蔽全局变量,则将使用局部变量。
例如,有关阴影如何工作的信息,请参阅this StackOverflow post。
答案 1 :(得分:4)
int main()
{
int var=1;
cout<<var;
fun();
}
目前您只是在修改全局而不是在main()
中创建一个新的。
然后你的输出将是
10
答案 2 :(得分:4)
您将'var'的值重新分配给1然后再打印'var'两次。这就是你输出11的原因。
答案 3 :(得分:2)
将1
分配给var
后,您将打印相同变量的2倍 - 请注意,您没有创建2个不同的变量,但是您正在更改变量的值。
答案 4 :(得分:-1)
无功= 0 然后var = 1 打印var两次 输出11