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

求大神解决一下int x

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

正在回答

3 回答

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

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

停不下来的人 提问者

非常感谢,解答了我的疑惑!
2015-05-30 回复 有任何疑惑可以回复我~
#2

停不下来的人 提问者

还有在if()里边也可以重新定义变量么?不是只有在函数的开头可以定义么?望解惑
2015-05-30 回复 有任何疑惑可以回复我~

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

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

qq_陌唯影_0

我想问fnl();里面的x变量为什么是在main函数外面找,而不是在main函数里面找,就是为什么x=77而不是x=100?感谢回答。
2015-07-15 回复 有任何疑惑可以回复我~

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

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

举报

0/150
提交
取消
C语言入门
  • 参与学习       926212    人
  • 解答问题       20797    个

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

进入课程

求大神解决一下int x

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