c:指向函數(shù)的指針變量來求取最大最小值

問題描述:

以下使一個簡單的例子,用來說明指向函數(shù)的指針變量。定義兩個函數(shù)max和min,分別用來求最大值和最小值。在主函數(shù)中根據(jù)用戶輸入的數(shù)字是1或者是2,使指針變量指向max函數(shù)或者min函數(shù)。

codes:
#include <stdio.h>
int main()
{
    int max(int,int);//求最大值函數(shù)聲明 
    int min(int,int);//求最小值函數(shù)聲明 
    int (*p)(int,int);//定義指向函數(shù)的指針變量 
    
    int a,b,c,n;
    printf("please input two numbers:");//輸入兩個數(shù) 
    scanf("%d%d",&a,&b);
    printf("please choose 1 or 2:");//輸入1 or 2 
    scanf("%d",&n);
    if(n == 1){ //如果輸入1則使 p 指向max函數(shù) 
        p = max;
    }
    else if(n == 2){    //如果輸入2,使p指向min函數(shù) 
        p = min;
    }
    
    c = (*p)(a,b);
    printf("a = %d, b = %d\n",a,b);
    
    if(n == 1){
        printf("max = %d\n",c);
    }
    else{
        printf("min = %d\n",c);
    }
    return 0;
}

int max(int x, int y)   //求最大值函數(shù) 
{
    return x > y ? x : y;
} 

int min(int x, int y)   //求最小值函數(shù) 
{
    return x < y ? x : y;
}

You can leave me a message if you find out any mistake in my diary, I'll correct it, thanks.

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 指針是C語言中廣泛使用的一種數(shù)據(jù)類型。 運(yùn)用指針編程是C語言最主要的風(fēng)格之一。利用指針變量可以表示各種數(shù)據(jù)結(jié)構(gòu); ...
    朱森閱讀 3,612評論 3 44
  • ?。?!注意:因?yàn)楹啎娘@示格式緣故,所以“ * ”顯示會出現(xiàn)問題,可能有些星號由于疏忽未改動格式,造成沒有顯示,請...
    Eric_Hunter閱讀 1,122評論 0 0
  • 空氣中漂浮著價(jià)值的氣息 隨著呼吸進(jìn)入身體 萬物成了數(shù)字 情感在荒漠中迷失了方向 理想是一種奢侈品 變質(zhì)的成功膨脹,...
    水映世界閱讀 296評論 0 2
  • 園有桃先秦:佚名園有桃,其實(shí)之肴。心之憂矣,我歌且謠。不知我者,謂我士也驕。彼人是哉,子曰何其?心之憂矣,其誰知之...
    To者也閱讀 608評論 0 1
  • 十歲, 你對生活,一笑。 二十歲, 你對生活,微笑。 三十歲, 你對生活,笑笑。 以后呢, 生活對你一直笑……
    小劇在成長閱讀 217評論 6 9

友情鏈接更多精彩內(nèi)容