在C語(yǔ)言中,所有的函數(shù)定義,包括主函數(shù)main在內(nèi),都是平行的。也就是說(shuō),在一個(gè)函數(shù)的函數(shù)體內(nèi), 不能再定義另一個(gè)函數(shù), 即不能嵌套定義.
創(chuàng)新互聯(lián)主要從事網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)通化,十載網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專(zhuān)業(yè),歡迎來(lái)電咨詢建站服務(wù):13518219792
在例子中,沒(méi)有嵌套定義的.
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);
}
所以不矛盾..
就是在一個(gè)語(yǔ)句的內(nèi)部,含有一個(gè)或更多的同種語(yǔ)句。
例如:
if(條件1)
{if(條件2)....;}
例如:
for(i=0;i5;i++)
{for(j=0;j10;j++)
....;
}
C語(yǔ)言的函數(shù)定義是互相平行的,獨(dú)立的,也就是說(shuō),在定義函數(shù)時(shí),一個(gè)函數(shù)內(nèi)不能包含另一個(gè)函數(shù),不能嵌套定義函數(shù)(但Pascal語(yǔ)言是可以嵌套定義的)。但能嵌套調(diào)用。
在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
還需要更詳細(xì)的資料的話可以去后盾網(wǎng) 那里有很多關(guān)于這方面的資料 希望可以幫助到你