求大神解决一下int x

来源:5-10 局部与全局

停不下来的人

2015-05-25 11:14

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

写回答 关注

3回答

  • 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

    停不下来的人

    还有在if()里边也可以重新定义变量么?不是只有在函数的开头可以定义么?望解惑

    2015-05-30 15:51:12

    共 2 条回复 >

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

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

    qq_陌唯影...

    我想问fnl();里面的x变量为什么是在main函数外面找,而不是在main函数里面找,就是为什么x=77而不是x=100?感谢回答。

    2015-07-15 14:59:15

    共 1 条回复 >

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

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

C语言入门

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

926210 学习 · 20797 问题

查看课程

相似问题