为了账号安全,请及时绑定邮箱和手机立即绑定

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

#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;
}


正在回答

1 回答

前面的循环结果是

x=2

x=4

x=8

x=16

x=32

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


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信