我无法理解这个程序的输出 -
int main()
{
static int i=5;
if(--i) {
main();
printf("%d ",i);
}
}
输出为 0 0 0 0
我的疑问是为什么在第一次调用 main 时不会初始化静态?如果我假设静态在第一次调用 5 时被初始化,然后在调用之间共享,则输出应该是 4 3 2 1
谢谢!
我无法理解这个程序的输出 -
int main()
{
static int i=5;
if(--i) {
main();
printf("%d ",i);
}
}
输出为 0 0 0 0
我的疑问是为什么在第一次调用 main 时不会初始化静态?如果我假设静态在第一次调用 5 时被初始化,然后在调用之间共享,则输出应该是 4 3 2 1
谢谢!