【发布时间】:2013-06-04 08:39:56
【问题描述】:
我们可以在 C 的不同函数中声明相同的局部静态变量吗?
例如:
in function1:
void function1()
{
static int a;
a++;
//dosomething here
}
in function2:
void function2()
{
static int a;
a++;
//dosomething here
}
in function3:
void function3()
{
static int a;
a++;
//dosomething here
}
在这种情况下,如果我调用function1 3次,那么我调用function3一次,那么function3中a的值应该是4还是1?
【问题讨论】:
-
自己尝试有多难?另外,你应该初始化
a。 -
我可以自己尝试,但我更喜欢了解原因并被某人欺骗
-
静态变量会自动初始化为0?