A. C語言中函數調用是什麼意思,調用有什麼作用
如果在設計c語言程序中,反復要用到一個組合計算的程序段,比如:
void main()
{
int a,b,c,x,y,z,j,k,l;
...
c=a+b; c-=(a-b)/2; //計算c=(a+b)-(a-b)/2
...
z=x+y; z-=(x-y)/2; //計算z=(x+y)-(x-y)/2
...
l=j+k; l-=(j-k)/2; //計算l=(j+k)-(j-k)/2
...
}
由於它們的計算公式相同,就採用一個函數來替代相似的語句:
int fun(int a,int b) { int c; c=a+b; c-=(a-b)/2; return c; } //按照公式計算並返回結果
這樣程序就變成了:
int fun(int a,int b) { int c; c=a+b; c-=(a-b)/2; return c; }
void main()
{
int a,b,c,x,y,z,j,k,l;
...
c=fun(a,b);
...
z=fun(x,y);
...
l=fun(j,k);
...
}
*這樣的效果是:重復利用了函數的代碼,節省程序的代碼量(尤其是計算公式很復雜的情況更突出),程序簡潔易讀,便於統一修改計算公式和方法。
*還有一個優點就是:你調用函數時,無須知道演算法的細節,按照函數調用規則就可以使用了,比如,標准c提供的函數double sin(double x),你只要知道這是個計算正弦函數值的函數即可,拿來可用而不必去看具體標准函數庫是怎樣計算的。
*你的函數如果寫得正確、經典的話,完全可以封裝成標准函數拿給其他人使用,甚至可以不提供源代碼就可以。
*沒有返回值的函數又可以叫子程序