A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© huyingbin 中级黑马   /  2015-6-5 16:28  /  1090 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在视频中有一段代码是: if(a == 3)
                                              int num = 10;
系统会提示错误,老师的解释是:当a 是3时,会执行 int num ==10;再接着执行程序的话,变量num的内存会被回收,所以系统不允许这样,我感觉这样解释太笼统了。

8 个回复

倒序浏览
num应该是局域变量吧, if(a == 3){
                                       int num = 10;} 省略了大括号
回复 使用道具 举报
即使不报错 这句话有什么意义呢
回复 使用道具 举报
省略大括号了
回复 使用道具 举报
是a==3成立为真,执行int num=10语句,执行完整个IF语句后里面的变量内存会清空
回复 使用道具 举报
这里不是if的作用域吧  是你这个 num的作用域  如果是是if之前先定义了 num的 应该就可以吧!
回复 使用道具 举报
    代码块 int num = 10;只能在if{   }内使用,如果不是在if的代码块内要重新定义
回复 使用道具 举报
学知识,要选择性的深入研究,深入纠结。。。这个作用域的问题而已,何必研究那些没意义的东西呢。
回复 使用道具 举报
围观学习啦,加油!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马