用static定义的变量直接用函数返回值赋值会怎么样呢?
我们都知道,static修饰的变量只被赋值一次,如果写成下面的形式:
void test()
{
static int a = fun();
}
int fun()
{
printf("heihei\n");
return 0;
}
int main()
{
while(1)
{
test();
}
}
你会发现, fun函数只会调用一次.
用static定义的变量直接用函数返回值赋值会怎么样呢?
我们都知道,static修饰的变量只被赋值一次,如果写成下面的形式:
void test()
{
static int a = fun();
}
int fun()
{
printf("heihei\n");
return 0;
}
int main()
{
while(1)
{
test();
}
}
你会发现, fun函数只会调用一次.