#include stdio.h
成都創(chuàng)新互聯(lián)基于成都重慶香港及美國等地區(qū)分布式IDC機房數(shù)據(jù)中心構建的電信大帶寬,聯(lián)通大帶寬,移動大帶寬,多線BGP大帶寬租用,是為眾多客戶提供專業(yè)德陽服務器托管報價,主機托管價格性價比高,為金融證券行業(yè)服務器托管,ai人工智能服務器托管提供bgp線路100M獨享,G口帶寬及機柜租用的專業(yè)成都idc公司。
void b()
{
printf("Hello World!\n");
}
void a()
{
b();
}
void main ()
{
a();
}
這樣就OK了,只要遵循一個原則,函數(shù)在被調(diào)用前必須是已經(jīng)聲明過的。因為灶碰薯編譯器是要先知道有這個東西存在(已經(jīng)被定義或聲明過),才能通過編譯。
如果函數(shù)b在函數(shù)a之前定義(如上),則不需要在函數(shù)a里定義,直接調(diào)用即可;
如果函數(shù)吵隱b在函數(shù)a之后定義(如下),則應在在a中聲明函數(shù)b之后隱者才能調(diào)用。
void a()
{
void b();
b();
}
void b()
{
printf("Hello World!\n");
}
函數(shù)嵌套是語言特性,遞歸調(diào)用數(shù)喊是邏輯思想。
1
函數(shù)嵌套
函賀首數(shù)嵌套允許在一個函數(shù)中調(diào)用另禪畢數(shù)外一個函數(shù),比如有三個函數(shù)
例:
funca()
{
funcb();
}
funcb()
{
funcc();
}
funcc()
{
cout
"hello"
評論
加載更多
在C語言中,所有的函數(shù)定義,包括主函數(shù)main在內(nèi),都是平行的。也就是說,在一個函數(shù)的函數(shù)體內(nèi)行巖春, 不能再定義另一個函數(shù), 即不能嵌套定義.
在例子中,沒有嵌套定義棗臘的.
int max(int a,int b)
{
if(ab)return a;
else return b;
}//這是在定義max
而main()函數(shù)中,
void main()
{
int max(int a,int b);//這是聲明,被調(diào)用函數(shù),定義在檔耐main函數(shù)前,可以省略.
int x,y,z;
printf("input two numbers:\n");
scanf("%d%d",x,y);
z=max(x,y);//這是調(diào)用.
printf("maxmum=%d",z);
}
所以不矛盾..
在c中可以嵌套調(diào)用函數(shù),但不可以嵌套定義函數(shù)。
函數(shù)嵌套調(diào)用是允許的。
int a()
{
b();//調(diào)用函數(shù)閉談b
}
函虛旁數(shù)嵌套定義轎譽碰是錯誤的。
int a()
{
int b() //在函數(shù)a中定義函數(shù)b
還需要更詳細的資料的話可以去后盾網(wǎng) 那里有很多關于這方面的資料 希望可以幫助到你