2 回答

TA貢獻1871條經驗 獲得超8個贊
考慮下面的代碼,主要是說明問題所以沒有提供函數定義而只提供了函數原型。
void fun1();
int fun2();
int fun3();
int main()
{
fun1();
cout << fun2() << endl;
return 0;
}
int fun3()
{
int a = fun2();
a++;
return a;
}
主調函數和被調函數是相對而言的。以上面的代碼為例,相對于主函數main來說,fun1和fun2都是被調函數,而main是主調函數,相對于fun3來說,fun2就是被調函數,fun3則是fun2的主調函數。

TA貢獻1845條經驗 獲得超8個贊
1、主調函數與被調函數是成對出現的。是主動與被動的關系?,F在有A、B兩個函數,A函數調用了B函數,那么,A函數就是主調函數,B函數就是被調函數。這和現實生活中的打電話是一樣的,一個是主叫,一個是被叫。有意思的是,在很多編程語言里,函數間的調用就是用CALL關鍵字來表示的。
2、在C語言里,被調函數如果要先聲明的話,一定是在主函數之前被聲明的,雖然名字可以取的千奇百怪,不過先聲明的話這樣就比較明顯好認(有很多程序員都提倡這么做,這樣就可以方便的分析程序了),另外,主函數是main,看見這個就是看見主函數了。被調函數就是一個可以實行一定功能的函數,需要它有什么用,你就可以隨便的定義它,完整它,所以調用函數非常的多、雜亂,不易理清頭緒,但是調用函數卻是一定在主函數中實現的,我說一下我自己的方法,就是先不看調用函數,先從主函數看起,當遇到調用函數時就回過頭去看那個調用函數的具體內容(實際上,把調用函數的內容帶入主函數中就行了,具體對待就行)。
- 2 回答
- 0 關注
- 1653 瀏覽
添加回答
舉報