如果变量被初始化(i = 0),每次调用函数 func 时它仍然是 1,但是
当 i 未初始化时:
#include <stdio.h>
int funct(void);
int main(void)
{
funct();
funct();
funct();
return 0;
}
int funct(void)
{
int i;
static int j = 0;
i++;
j++;
printf(" i = %d j = %d\n", i, j);
}
Run Code Online (Sandbox Code Playgroud)
输出是
i = 1 j = 1
i = 2 j = 2
i = 3 j = 3
Run Code Online (Sandbox Code Playgroud)
我不明白为什么变量 i 的行为像静态变量!