函數(2)

    函數有說過啊,再說幾個實用的高級函數用法

   

    函數指針

    int  (*pfunction) ( int a; int b );

    pfunction 是函數指針的名字

代碼

#include <stdio.h>

int add(int x, int y)
{
    return x+y;
}

int sub(int x, int y)
{
    return x-y;
}

int (*math) (int x, int y);

int main(void)
{
    int a, b, result;
    math = add;
    printf("請輸入第一個參數:\n");
    scanf("%d", &a);
    printf("請輸入第二個參數:\n");
    scanf("%d", &b);
    result = math(a, b);
    printf("運算的結果%d\n", result);
    
    math = sub;
    printf("請輸入第一個參數:\n");
    scanf("%d", &a);
    printf("請輸入第二個參數:\n");
    scanf("%d", &b);
    result = math(a, b);
    printf("運算的結果%d\n", result);
    return 0;
}

執行結果


既然函數指針 ,  那能不能有函數指針數組,可以試一試啊。


遞歸函數

再說一個函數  遞歸函數 就是自己調用自己的函數

比如說我們做一個階乘 1*2*3*4...

遞歸函數有個要素就是要有結束條件。如下。

代碼

#include <stdio.h>

int math(int x)
{
    if(x < 2)
        return x;
    return x * math(x-1);
}

int main(void)
{
    int a, date;
    printf("請輸入一個值\n");
    scanf("%d", &a);
    date = math(a);
    printf("階乘的結果%d\n", date);    

    return 0;
}


執行結果



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章