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

来源:5-10 局部与全局

喜欢海其实是喜欢浪

2016-02-16 17:35

#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回答

  • 侠客岛的含笑
    2016-02-21 12:28:55
    已采纳

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

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

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

    喜欢海其实是...

    非常感谢!

    2016-02-24 21:15:49

    共 1 条回复 >

  • 喜欢海其实是喜欢浪
    2016-02-16 17:48:40

    ....

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926212 学习 · 20797 问题

查看课程

相似问题