#include<stdio.h>
void fn()
{
static int x=0;
x++;
printf("%d\n",x);
}
int main()
{
int i;
for(i=0;i<10;i++)
{
fn();
}
return 0;
}
为什么这里输出的结果是1,2,3,4,5,6,7,8,9,10不是1,3,5,7,9啊?for语句里面有i++,fn()函数里面也有,不就应该是等于自增了两下吗?
就算两个是x也不影响吧,都不是一个局部的东西。而且for循环里面也没写调用外部变量
我去,脑抽了,原来第一个是x++,第二个是i++,恍然大悟(笑哭~~)