运行结果为什么不一样
#include
int main ()
{
int k ;
for (k=0;k<3;k++)
{
static int x =3;
printf ("%d", x++);
}
printf (" ");
for (k=0;k<3;k++)
{ static int b ;
b=3;
printf ("%d",b++);
}
}
第二个for循环内 不是定义全局变量了。而是每次循环都赋值。
静态变量只被初始化一次,第二个for 你每次都给它赋值一个3,这个是赋值操作,第一次执行完它等于4,但是循环回来你又给它重新赋值为3