1、max函數(shù)不是一個(gè)C語(yǔ)言里提供給的函數(shù),而是程序員自己定義的。一般來(lái)說(shuō),max函數(shù)是用來(lái)求一組數(shù)據(jù)中的最大值。
我們提供的服務(wù)有:網(wǎng)站設(shè)計(jì)、做網(wǎng)站、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、息縣ssl等。為近千家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的息縣網(wǎng)站制作公司
2、例如:
int?max(int?a,int?b)
{
if?(ab)
return?a;
else
return?b;
}
//?或者用更簡(jiǎn)單的:
int?max(int?a,int?b)
{
return?ab?a:b;
}
//或者使用宏定義:
#define?MAX(a,b)?(ab)?(a):(b)
main()
{
int?x,y,z,max;
printf("input?two?numbers:\n");
scanf("%d%d",x,y);
z=MAX(x,y);
printf("maxnum=%d",z);
getch();
}
max函數(shù)用于求最大值,可以定義如下函數(shù):
int max(int a, int b)
{
if(ab) return a;
return b;
}
不過(guò)該函數(shù)只能用于整型而不能用于其它類(lèi)型。如果有其它類(lèi)型,比如浮點(diǎn)型,則需要再重新修改。
float max(float a , float b)
{
if( a b) return a;
return b;
}
其實(shí)這樣代碼量比較少的操作,可以定義為宏函數(shù),即帶參宏定義的形式。
#define max(a,b) ((a)(b)?(a):(b))
這樣既可以不受參數(shù)類(lèi)型限制,又可以提高執(zhí)行效率。
不過(guò)從你的代碼來(lái)看,只需要定義int類(lèi)型的max函數(shù)即可。
擴(kuò)展資料:
max(x,y)=0.5*(x+y+|x-y|);在概率論中多有使用,可以將參數(shù)指定為數(shù)字、空白單元格、邏輯值或數(shù)字的文本表達(dá)式。如X、Y獨(dú)立同分布,X~N(0,1),求期望E(max(x,y))。
參考資料來(lái)源:百度百科-max函數(shù)
max里的叫形參,可以隨便用哪個(gè)都一樣的,大概你是新手,不知道什么是形參和實(shí)參吧~
形參與實(shí)參的區(qū)別:
高級(jí)語(yǔ)言在設(shè)計(jì)程序模塊時(shí),模塊名定義后,緊跟其后所定義的參數(shù)(括弧內(nèi))被稱為形參(也稱虛參)。當(dāng)該模塊被調(diào)用時(shí),在主調(diào)模塊中,出現(xiàn)在被調(diào)用的模塊名后的參數(shù)被稱為實(shí)參。實(shí)參代替虛參的過(guò)程被稱為虛、實(shí)結(jié)合,也稱換參。多數(shù)高級(jí)語(yǔ)言的換參是由編譯系統(tǒng)來(lái)完成,比如C語(yǔ)言和FORTRAN語(yǔ)言亦是如此。BASIC語(yǔ)言的換參則是由程序設(shè)計(jì)人員來(lái)完成的。如果只允許實(shí)參向虛參傳遞,則被稱為“單向傳遞”,C語(yǔ)言的變量類(lèi)虛、實(shí)結(jié)合即是“單向傳遞”。如果同時(shí)允許虛參向?qū)崊鬟f,這種傳遞被稱為“雙向傳遞”,F(xiàn)ORTRAN 語(yǔ)言定義的子程序即是如此。 當(dāng)C語(yǔ)言的形參為數(shù)組時(shí),形參不另辟存儲(chǔ)單元,形參與實(shí)參共用內(nèi)存存儲(chǔ)單元。這樣,可以節(jié)省內(nèi)存。 C語(yǔ)言在定義函數(shù)的同時(shí),對(duì)于有參函數(shù),也同時(shí)定義了形參。在調(diào)用該函數(shù)的同時(shí),也指明了實(shí)參。實(shí)參與形參在內(nèi)存分別占有兩套不同的存儲(chǔ)單元(數(shù)組除外),但是形參只有在函數(shù)被調(diào)用過(guò)程中才分配存儲(chǔ)單元,調(diào)用結(jié)束后形參占用的單元被釋放。數(shù)組元素作為實(shí)參時(shí),也做為變量來(lái)處理。