在C語言中,所有的函數(shù)定義,包括主函數(shù)main在內(nèi),都是平行的。也就是說,在一個函數(shù)的函數(shù)體內(nèi), 不能再定義另一個函數(shù), 即不能嵌套定義.
創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),樂亭企業(yè)網(wǎng)站建設(shè),樂亭品牌網(wǎng)站建設(shè),網(wǎng)站定制,樂亭網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,樂亭網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
在例子中,沒有嵌套定義的.
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
還需要更詳細(xì)的資料的話可以去后盾網(wǎng) 那里有很多關(guān)于這方面的資料 希望可以幫助到你
函數(shù)是不可以嵌套定義的。
這樣做也沒有意義,只要你把函數(shù)定義出來,那么這個程序的存儲空間已經(jīng)被占用,這個變量的定義并不相同,所以沒有必要存在函數(shù)的嵌套定義。
如果有需要就直接建立函數(shù)即可。
首先這不是函數(shù)的嵌套,而是函數(shù)的調(diào)用。 int
main(){}是主(調(diào))函數(shù),int
max1(){}是被調(diào)函數(shù)(也稱為用戶函數(shù))。
你編的程序最大的問題就是主函數(shù)中的
實參
e和f沒有值(或者沒有被賦值),也就達不到調(diào)用函數(shù)的效果。
函數(shù)嵌套是語言特性,遞歸調(diào)用是邏輯思想。
1
函數(shù)嵌套
函數(shù)嵌套允許在一個函數(shù)中調(diào)用另外一個函數(shù),比如有三個函數(shù)
例:
funca()
{
funcb();
}
funcb()
{
funcc();
}
funcc()
{
cout
"hello"
評論
加載更多
C語言的函數(shù)定義是互相平行的,獨立的,也就是說,在定義函數(shù)時,一個函數(shù)內(nèi)不能包含另一個函數(shù),不能嵌套定義函數(shù)(但Pascal語言是可以嵌套定義的)。但能嵌套調(diào)用。