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

请问这个代码是顺序是怎么样的?有大神可以教一下吗?谢谢!

#include <stdio.h>
void fn()
{
 static int x = 1;   //定义静态局部变量
    x*=2;
    printf("x=%d\n",x);    
}

int main()
{
    int i;
    for(i=0;i<5;i++)
    {
        fn();
    }
 int x;      //调用外部变量
    printf("x=%d\n",x);
    return 0;
}


提问者:那星阿伦 2017-09-17 00:41

个回答

  • 慕UI9026830
    2017-09-17 11:13:32

    前面的循环结果是

    x=2

    x=4

    x=8

    x=16

    x=32

    但是最后的x调用外部变量,但是外部变量x没有赋值,所以会出错