第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

局部與全局問題在里面大神來教一下小白啊

局部與全局問題在里面大神來教一下小白啊

C C++
悶a 2017-05-03 19:15:28
#include <stdio.h>int x = 1;int fn1(int x){int y,z;z = 2;y = x+z;printf("y=%d\n",y);這個(gè)為局部變量我知道但是為什么最后y=4它沒有定義x為多少啊return 0;}int main(){fn1 (2);int y = 10;printf("x+y=%d",y+x);getchar();}
查看完整描述

3 回答

已采納
?
ruibin

TA貢獻(xiàn)358條經(jīng)驗(yàn) 獲得超213個(gè)贊

int x=1.x為在外層作用域,內(nèi)層可以直接使用
查看完整回答
1 反對(duì) 回復(fù) 2017-05-03
  • 悶a
    悶a
    對(duì)呀那y就應(yīng)該=3啦啊
  • ruibin
    ruibin
    但是,看這里fn1 (2);然后int fn1(int x)什么意思呢,定義了一個(gè)參數(shù)為x,現(xiàn)在你傳入一個(gè)2此時(shí)函數(shù)內(nèi)部的x就是2.y等于4 如果你這樣寫fn1() 此時(shí)x的y就等于3.
  • 悶a
    悶a
    哦哦哦對(duì)對(duì)對(duì)我真的是傻啊我去自定義函數(shù)我沒有往后面想??!謝謝啦?。?/div>
?
frece

TA貢獻(xiàn)36條經(jīng)驗(yàn) 獲得超15個(gè)贊

程序先跑main函數(shù)

在main中調(diào)用fn1, ?把2 當(dāng)參數(shù)傳進(jìn)去, 而在 fn1中, 接收一個(gè)x,這個(gè)x和全局變量x不是同一個(gè)變量,?你定義了一個(gè)z = 2, 所以y = x + z = 2 + 2 = 4

局部變量和全局變量重名的時(shí)候函數(shù)會(huì)優(yōu)先使用局部變量,如果你把fn1函數(shù)定義成 fn1(int m), 函數(shù)里是 y = m + z,你就能理解了吧? 這里只不過是全局變量和局部變量重名了而已

查看完整回答
2 反對(duì) 回復(fù) 2017-05-03
  • 3 回答
  • 0 關(guān)注
  • 1761 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)