问答详情
源自:5-10 局部与全局

求大神解决一下int x

在代码里,主函数if语句里的static x或者int x,是表示在if语句里重新定义一个x么?和全局变量int x=77,主函数中初定义的int x=10都不一样么?还是其他的?除了这样思考实在想不出来(main方法内, x=10)
是怎么 变成10的!

提问者:停不下来的人 2015-05-25 11:14

个回答

  • Absolute_Duo
    2015-05-25 22:34:19
    已采纳

    printf("if语句内, x=%d\n", x);程序的寻找x的方式是从局部到全局去寻找,那么if语句中的x程序首先在if语句内寻找x,如果找到x则输出if语句内的x,如果没能在if语句中找到x则向外去main函数里去找;

    printf("main方法内, x=%d\n", x);也是同理先在main函数里找x,没找到的话去找全局变量;

    printf("fn1(): x=%d\n", x);同理先在fn1函数中找x

  • Absolute_Duo
    2015-05-30 17:00:43

    定义变量一般来说可以在任意地方写

  • 停不下来的人
    2015-05-30 15:50:20

    if()语句里也可以定义变量?不是只有在函数开头定义变量么?我是初学者,望解惑