在复合语句内定义的变量可以覆盖块外的变量且出了语句块后失效?
因为你等于3的i跟你等于9的i不是同一个变量!
值为9的變量i由于你给他前面+了一个数据类型int系统认为你再重新定义变量,之是这个变量跟静态变量恰巧同名而已复合块输出的i是他复合块自巳的i,而块外面的都是静态变量i
你把9前面那个int去了就可以了
那为什么在块外输出i输出的是3……如果重新定义的话不应该是3么……
现在就是洇为你块里面的9不是给原来的3重新赋值意思是你定义了第二个变量i,第一个变量i=3第二个变量i=9,这是两个不同的变量只有去掉i=9前面的int,才是你说的给原来等于3的i重新赋值你看你的第一个i和第二个i颜色都不一样
哦哦,也就是说块里定义的i只能在块里使用出了那个复合塊就失效了对么?
你对这个回答的评价是
不是覆盖,你这里时间上声明了两个变量中间那个你大印的就是临时变量;不是你声明一个
i 這个i就再所有范围生效
什么叫“大印”……萌新不是很懂
你对这个回答的评价是?