課程
/后端開發(fā)
/C
/C語言入門
int fn1(int x)
{
????int y,z;
????z=2;y=x+z;
????……
}
這里fn1括號里的能把int y,int z加上去嗎?加上去了下面y和z是不是就不用再定義了
2017-07-28
源自:C語言入門 5-10
正在回答
括號里的形參是一個(gè)函數(shù)的入口, c語言里所有的形參都要對應(yīng)的實(shí)參傳入.如定義int fn1(int x, int y,int z){......}
但是在調(diào)用的時(shí)候: fn1(2); ?這樣寫是不對的.這樣只有x得到賦值, 編譯器就會(huì)報(bào)錯(cuò).如果:fn1(1,2,3);這樣寫就一點(diǎn)問題都沒有, 這樣子就無需在函數(shù)體內(nèi)再定義y,z. 因?yàn)樾螀⒈矶x的變量也是屬于這個(gè)函數(shù)的局部變量.如果再在函數(shù)體中定義: int y,z; 編譯器就會(huì)報(bào)錯(cuò): redefine....(重復(fù)定義)
有興趣可以看下形參缺省, 在C++里形參是可以缺省的,即:聲明函數(shù) int fn1(int x, int y=2, int z=3);
調(diào)用時(shí); fn1(1); 賦值結(jié)果: x =1 ,y =2, z =3;
王之藐視
舉報(bào)
C語言入門視頻教程,帶你進(jìn)入編程世界的必修課-C語言
2 回答對例子的疑問
1 回答關(guān)于Switch語句例子代碼的疑問
1 回答關(guān)于例子的疑問
1 回答例題中代碼改成這樣子也對把?
2 回答本小節(jié)代碼分析題中的疑惑
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2017-07-29
括號里的形參是一個(gè)函數(shù)的入口, c語言里所有的形參都要對應(yīng)的實(shí)參傳入.如定義int fn1(int x, int y,int z){......}
但是在調(diào)用的時(shí)候: fn1(2); ?這樣寫是不對的.這樣只有x得到賦值, 編譯器就會(huì)報(bào)錯(cuò).如果:fn1(1,2,3);這樣寫就一點(diǎn)問題都沒有, 這樣子就無需在函數(shù)體內(nèi)再定義y,z. 因?yàn)樾螀⒈矶x的變量也是屬于這個(gè)函數(shù)的局部變量.如果再在函數(shù)體中定義: int y,z; 編譯器就會(huì)報(bào)錯(cuò): redefine....(重復(fù)定義)
2017-07-29
有興趣可以看下形參缺省, 在C++里形參是可以缺省的,即:聲明函數(shù) int fn1(int x, int y=2, int z=3);
調(diào)用時(shí); fn1(1); 賦值結(jié)果: x =1 ,y =2, z =3;