⑴ 在c語言中,函數不能嵌套定義,但是我不知道什麼是嵌套定義

呵呵,
int
fun()
{
...
}
這是定義了一個函數
如果這樣:
int
fun()
{
...
int
fun2()
{
...
}
...
}
這就是在函數fun中嵌套定義了函數fun2了,這是c語言中所不允許的

⑵ c語言 主函數嵌套定義

標准C是不支持函數嵌套定義的。
應該與編譯器相關吧。
我在gcc裡面編譯就版會出錯:
testembed.c: In function 『權main』:
testembed.c:14: error: static declaration of 『sum』 follows non-static declaration
testembed.c:4: note: previous declaration of 『sum』 was here

⑶ C語言中,函數可以嵌套定義嗎

取決於編譯器.

我在Ubuntu16.04 用默認gcc,在eclipse中測試可以實現嵌套定義.

經測試在函數中定義的函數,在當前作用域可以被調用.

這樣一來,c語言貌似具有了一些面向對象的特性,使用起來比較方便

⑷ C語言中函數為什麼可以嵌套定義

取決於編譯器.

我在Ubuntu16.04 用默認gcc,在eclipse中測試可以實現嵌套定義.

經測試在函數中定內義的函數,在當前作用域容可以被調用.

這樣一來,c語言貌似具有了一些面向對象的特性,使用起來比較方便

⑸ 為什麼「C語言既可以嵌套定義又可以遞歸調用」是錯的

在c語言中可以進行遞歸調用和嵌套調用,不能進行嵌套定義。
遞歸調用:
void moon()
{
static int b=3;
printf("#");
if(b>0){
b--;
moon();
}
}這樣版就是運行了三次moon()函數權,為遞歸調用。
嵌套調用:
void moon()
{
static int b=3;
printf("#");
if(b>0){
b--;
Max();
}
}
在一個函數中調用不同函數便為嵌套調用。
嵌套定義:
void moon()
{
static int b=3;
printf("#");
Max(){
printf("#");
}
}這種就是嵌套定義,在一個函數中定義不同函數,這種在c語言中並不允許。在一個函數中定義相同函數便為遞歸定義,照樣是不正確的。

⑹ c語言中「函數的定義不可以嵌套,但函數的調用可以嵌套」是什麼意思最好能舉例子說明!謝謝

函數的定義不可以嵌套
定義函數a
void a() //定義a函數
{
int b(int c) //定義函數b
{
}
},這是不對的,
但函數的調用可以嵌套
在主函數中調用x函數,x函數在調用y函數
void y() 定義y函數
{
……
}
void x() 定義X函數
{
y(); 調用y函數
}
void main()
{
x(); 調用x函數
}

⑺ c語言中函數能嵌套定義嗎

函數是不可以嵌套定義的。
這樣做也沒有意義,只要你把函數定義出來,那麼這個程序的存儲空間已經被佔用,這個變數的定義並不相同,所以沒有必要存在函數的嵌套定義。
如果有需要就直接建立函數即可。

⑻ c語言中的函數可以嵌套定義嗎

函數的定義不可以嵌套 定義函數a void a() //定義a函數 { int b(int c) //定義函數b { } },這是不對的,專 但函數的調用可以屬嵌套 在主函數中調用x函數,x函數在調用y函數 void y() 定義y函數 { …… } void x() 定義X函數 { y(); 調用y函數 } voi...

⑼ C語言函數嵌套問題

在c中可以嵌套調用函數,但不可以嵌套定義函數。
函數嵌套調用是允許的。
int a()
{
b();//調用函數b

}

函數嵌套定義是錯誤的。
int a()
{
int b() //在函數a中定義函數b
{
……
……
}

⑽ 在c語言程序中函數的定義可以嵌套嗎

答案是C;
A:函數的定義不可以嵌套,但函數的調用可以嵌套
B:一個C語言程序的執行是從函數main開始,但main結束整個函數就結束。
C:正確。
D:可以不按順序書寫。但是如果函數調用先於函數定義,則需要有函數聲明。
樓主有不懂可以問哦。