【发布时间】:2021-12-28 17:45:58
【问题描述】:
静态变量是否只初始化一次?它是否忽略了它的初始化语句static int i = 1,所以它不会再次将它设置为1,所以它只是第一次读取它然后它忽略了吗?它是如何工作的。如果函数一次又一次地调用,谁能解释一下? 输出:123
#include<stdio.h>
void increment();
int main()
{
increment();
increment();
increment();
}
void increment()
{
static int i = 1 ;
printf("%d",i);
i=i+1;
}
【问题讨论】:
-
递归在哪里?
-
我觉得有趣的是,您有一个最小的示例来表明这正是它的工作原理。你仍然问这个问题,就像你不相信一样。你还期待什么?
标签: c static initialization local