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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

大家都知道,for()循环后面可以不接花括号,直接写一个分号语句,那么只会执行这一个分号语句.
但是,变量定义是不能写在这个位置的,入for(int a=0;a<5;a++)int b=2;这种形式是不行的,当时我想了好久,才搞明白
原来这么写的话,b的作用域是不明的,系统无法判断的作用范围是到分号结束只受for循环控制,还是一直延续到下一个花括号.
我这说法对吗?

10 个回复

倒序浏览
奔跑的蚂蚁iOS 来自手机 初级黑马 2016-2-10 22:12:07
沙发
课堂上老师讲过这个问题,这个说法是对的。
回复 使用道具 举报
作用域是个容易被忽略的点
回复 使用道具 举报
说的没错
回复 使用道具 举报
好像是这样没有错
回复 使用道具 举报
回答正确!!!
回复 使用道具 举报
学习了~~~~
回复 使用道具 举报
Lee.Yongsong 来自手机 高级黑马 2016-2-16 18:46:43
8#
思考的很深入,多个定义不能一下子写出来的!
回复 使用道具 举报
chensc 金牌黑马 2016-2-16 20:38:24
9#
学习学习!
回复 使用道具 举报
是这样的,所以很多代码,有时候只有一句也会加大括号,易读好理解
回复 使用道具 举报
这位同学说的对啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马