在if內(nèi)x=100前面加int也該等于50才對啊請大佬幫忙解惑
在main內(nèi)的x屬于局部變量沒錯吧, 為什么在if內(nèi)x=100前面沒有添加int之前main的x等于50 添加int后為什么加了int后main內(nèi)的x就等于10了 ,沒道理啊,?main內(nèi)的x是局部變量按道理if內(nèi)的x有就是x=10的同一個變量, 在if內(nèi)x=100前面加int也該等于50才對啊 if語句內(nèi),?x=50 main方法內(nèi),?x=10 fn1():?x=77
2019-02-25
代碼塊作用域主要靠 { }來區(qū)分.
因此 if里面是一個作用域 ,在main里面 原本的x指向同一內(nèi)存地址,只要是改變,x就會改變,后來加了int說明在if作用域重新開辟一個內(nèi)存地址x,此時是另一個內(nèi)存地址,main里面第一個x的內(nèi)存地址由于命名相同被隱藏,不作用于if作用域中,但是作用于main之中,所以才會有了這種情況