问答详情
源自:5-11 变量存储类别

求解释?不明白

#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()函数里面也有,不就应该是等于自增了两下吗?

提问者:慕牧羊6158366 2018-03-23 15:44

个回答

  • 慕粉4008573
    2018-05-28 22:26:35

    就算两个是x也不影响吧,都不是一个局部的东西。而且for循环里面也没写调用外部变量

  • 慕牧羊6158366
    2018-03-23 16:16:01

    我去,脑抽了,原来第一个是x++,第二个是i++,恍然大悟(笑哭~~)