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