取決于編譯器.
專注于為中小企業(yè)提供網(wǎng)站建設(shè)、成都做網(wǎng)站服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)北侖免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了成百上千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
我在Ubuntu16.04 用默認(rèn)gcc,在eclipse中測試可以實(shí)現(xiàn)嵌套定義.
經(jīng)測試在函數(shù)中定義的函數(shù),在當(dāng)前作用域可以被調(diào)用.
這樣一來,c語言貌似具有了一些面向?qū)ο蟮奶匦?使用起來比較方便
C語言可以遞歸調(diào)用,但是(函數(shù))不能嵌套定義。
例如:
int?fact(int?n)
{
if?(n?==?0)
return?1;
else
return?n?*?fact(n?-?1);
}
圖中的遞歸調(diào)用是允許的。
而:
void?foo()
{
void?bar()
{
//?Some?code
}
}
這樣在函數(shù)內(nèi)定義函數(shù)是不允許的。
不過結(jié)構(gòu)體是可以嵌套定義的,例如:
struct?test?{
int?a;
struct?demo?{
char?b;
};
};
這樣在結(jié)構(gòu)體內(nèi)定義結(jié)構(gòu)體,是可以的。
函數(shù)的定義不可以嵌套 定義函數(shù)a void a() //定義a函數(shù) { int b(int c) //定義函數(shù)b { } },這是不對的, 但函數(shù)的調(diào)用可以嵌套 在主函數(shù)中調(diào)用x函數(shù),x函數(shù)在調(diào)用y函數(shù) void y() 定義y函數(shù) { …… } void x() 定義X函數(shù) { y(); 調(diào)用y函數(shù) } voi...
不可以嵌套定義,每一個(gè)函數(shù)都有一個(gè)內(nèi)存地址,這個(gè)地址是函數(shù)的入口,它是不可以在其他函數(shù)中定義的。
但是函數(shù)可以嵌套調(diào)用,也就是在函數(shù)A中可以調(diào)用函數(shù)B
答案是C;
A:函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套
B:一個(gè)C語言程序的執(zhí)行是從函數(shù)main開始,但main結(jié)束整個(gè)函數(shù)就結(jié)束。
C:正確。
D:可以不按順序書寫。但是如果函數(shù)調(diào)用先于函數(shù)定義,則需要有函數(shù)聲明。
樓主有不懂可以問哦。
在c中可以嵌套調(diào)用函數(shù),但不可以嵌套定義函數(shù)。
函數(shù)嵌套調(diào)用是允許的。
int
a()
{
b();//調(diào)用函數(shù)b
}
函數(shù)嵌套定義是錯(cuò)誤的。
int
a()
{
int
b()
//在函數(shù)a中定義函數(shù)b
{
……
……
}
分享標(biāo)題:C語言函數(shù)可鑲套定義 c語言定義函數(shù)可以嵌套嗎
文章位置:http://jinyejixie.com/article40/hehdho.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、外貿(mào)網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化、響應(yīng)式網(wǎng)站、企業(yè)網(wǎng)站制作、網(wǎng)站營銷
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)