求解釋,為什么答案是2,6,42,3
#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;
}
#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;
}
2015-12-12
舉報(bào)
2015-12-12
static的作用域是一個(gè)塊,在塊內(nèi)使用static的i,所以是1+1*1=2,2+2*2=6,6+6*6=42,在塊(也就是大括號(hào))以外采用定義的i,一開(kāi)始為0,然后for循環(huán)到了3,最后就輸出3