#include<stdio.h>
int Square(int i)
{
return i*i;
}
int main()
{
int i=0;
i = Square(i);
for (;i<3;i++)
{
static int i=1;
i += Square(i);
printf("%d\n",i);
}
printf("%d\n",i);
return 0;
}
static的作用域是一个块,在块内使用static的i,所以是1+1*1=2,2+2*2=6,6+6*6=42,在块(也就是大括号)以外采用定义的i,一开始为0,然后for循环到了3,最后就输出3