W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
現(xiàn)在你大概想知道我們要怎樣在printMultiples和printMultTable兩個函數(shù)中使用同一個變量i。我不是說過一個變量只能聲明一次嗎?函數(shù)改變了變量的值會不會出問題?
兩個問題的答案都是“不”,因為printMultiples中的i和printMultTable中的i不是同一個變量。他們的名稱相同,但不會指向同一塊內(nèi)存地址,因而改變其中一個值并不影響另外一個。
不要忘了函數(shù)內(nèi)部聲明的變量是局部的。你不能從局部變量的“宿主”函數(shù)外部訪問此變量,而且你可以給多個變量起相同的名字,只要他們不在同一個函數(shù)內(nèi)部。
這段程序的棧圖清晰的表示出兩個變量i并不占用同一塊內(nèi)存。他們有不同的值,改變一個并不影響另一個。
注意,printMultiples函數(shù)中參數(shù)n的值必須與printMultTable中i的值相同。另外,printMultiples中的i值從1增至n。圖中i值為3,下一循環(huán)后將變?yōu)?。
在不同函數(shù)中使用不同變量名以避免混淆,這是個不錯的主意,但重用名稱也有很好的理由。例如用i、j、k命名循環(huán)變量是慣例。如果你在函數(shù)中避免使用這樣的名字,僅僅因為你在別處用過了,這樣你的程序?qū)⒖赡茏兊酶y讀。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: