主题:关于static变量问题
#include<stdio.h>
static int j;
void fun1(void)
{
static int i = 0;
i ++;
printf("i=%d",i);
}
void fun2(void)
{
j = 0;
j++;
printf("i=%d\n",i);
}
intmain()
{
for(k=0; k<10; k++)
{
fun1();
fun2();printf("*******************\n");
}
return 0;
)
运行结果:
i=1j=1
********************
i=2j=1
********************
i=3j=1
********************
i=4j=1
********************
i=5j=1
********************
i=6j=1
********************
i=7j=1
********************
i=8j=1
********************
i=9j=1
********************
i=10j=1
********************
j一直为1我是知道的,但请问为什么i一直自增呢?
static int j;
void fun1(void)
{
static int i = 0;
i ++;
printf("i=%d",i);
}
void fun2(void)
{
j = 0;
j++;
printf("i=%d\n",i);
}
intmain()
{
for(k=0; k<10; k++)
{
fun1();
fun2();printf("*******************\n");
}
return 0;
)
运行结果:
i=1j=1
********************
i=2j=1
********************
i=3j=1
********************
i=4j=1
********************
i=5j=1
********************
i=6j=1
********************
i=7j=1
********************
i=8j=1
********************
i=9j=1
********************
i=10j=1
********************
j一直为1我是知道的,但请问为什么i一直自增呢?