问答详情
源自: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;//定义为if函数里面的局部变量
          x /= 2;
        printf("if语句内, x=%d\n", x);       
    }
    printf("main方法内, x=%d\n", x);
    fn1();
    return 0;
}


提问者:elite达人 2016-03-10 21:25

个回答

  • 斟酒独酢
    2016-09-04 22:53:03

    int main()
    {
        int x = 10;  //定义了为主函数里面所有函数都可以使用
        if(x>0)
        {
          x = 100;   //重新定义x全局变量并进行操作,所以得出  50
          int x = 100;//另外定义一个x局部变量,暂时代替全局x变量,对全局变量x不进行操作,所以得出 10
          x /= 2;
            printf("if语句内, x=%d\n", x);       
        }
        printf("main方法内, x=%d\n", x);
        fn1();
        return 0;
    }


  • qq_多多小子_03649827
    2016-07-13 16:05:28

    为什么加了int就是了

  • dongysh
    2016-03-11 14:12:34

    这就是C语言中所谓的“强龙不压地头蛇”!