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

5-10中的问题,有关局部变量和全局变量

#include <stdio.h>
int x = 77;
void fn1()
{
    printf("fn1(): x=%d\n", x);       
}
int main()
{
    int x = 10;
    if(x>0)
    {
        int x = 100;
        x /= 2;
        printf("if语句内, x=%d\n", x);       
    }
    printf("main方法内, x=%d\n", x);
    fn1();
    return 0;
}

这段代码中fn1()输出的是77,而不是10.这两个是不是都是全局变量?两个的作用范围是哪里?

正在回答

2 回答

你一共定义了两个函数fn1和main;int x=77在函数的外部,这个应该是全局变量,所以他的作用范围是全局

而int x=10和int x=100这两个我觉得都应该是局部变量,因为他们在函数内部。

还有就是如果一个函数内部有一个相同的变量的时候,函数内的变量优先选择,这里指的也就是局部变量了

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

喜欢海其实是喜欢浪 提问者

非常感谢!
2016-02-24 回复 有任何疑惑可以回复我~

....

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

举报

0/150
提交
取消

5-10中的问题,有关局部变量和全局变量

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