黑马程序员技术交流社区

标题: if作用域紊乱问题 [打印本页]

作者: huyingbin    时间: 2015-6-5 16:28
标题: if作用域紊乱问题
在视频中有一段代码是: if(a == 3)
                                              int num = 10;
系统会提示错误,老师的解释是:当a 是3时,会执行 int num ==10;再接着执行程序的话,变量num的内存会被回收,所以系统不允许这样,我感觉这样解释太笼统了。
作者: 曹文博    时间: 2015-6-7 23:44
num应该是局域变量吧, if(a == 3){
                                       int num = 10;} 省略了大括号
作者: 晗修    时间: 2015-6-8 01:10
即使不报错 这句话有什么意义呢
作者: 小龙女的萝卜    时间: 2015-6-8 06:53
省略大括号了
作者: 马贺飞    时间: 2015-6-8 10:16
是a==3成立为真,执行int num=10语句,执行完整个IF语句后里面的变量内存会清空
作者: sdzwb89    时间: 2015-6-8 10:21
这里不是if的作用域吧  是你这个 num的作用域  如果是是if之前先定义了 num的 应该就可以吧!
作者: 天下1083    时间: 2015-6-8 11:42
    代码块 int num = 10;只能在if{   }内使用,如果不是在if的代码块内要重新定义
作者: cogddo    时间: 2015-6-8 16:05
学知识,要选择性的深入研究,深入纠结。。。这个作用域的问题而已,何必研究那些没意义的东西呢。
作者: 这是829    时间: 2015-6-9 00:01
围观学习啦,加油!!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2