輸入三個數(shù),編寫一個程序求這三個數(shù)的最大值和最小值,要求把求最大值和最小值編寫成函數(shù)。
成都創(chuàng)新互聯(lián)公司專注于岳陽企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站,商城網(wǎng)站建設(shè)。岳陽網(wǎng)站建設(shè)公司,為岳陽等地區(qū)提供建站服務(wù)。全流程按需求定制設(shè)計,專業(yè)設(shè)計,全程項目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)
2014-04-19 輸入a,b,c三個數(shù),輸出最大值和最小值。
這代碼自定義函數(shù)的格式太陳舊了,在現(xiàn)在編譯器下可能連編譯都過不了?,F(xiàn)在的自定義函數(shù)頭應(yīng)該改為float average(int a[],int n,int *max,int *min)這種樣子。
首先需要定義一個Max最小值變量。然后把首地址的值賦予最小值。接下來就可以開始進(jìn)行便利查找。如果有個數(shù)大于最大值便可以自動替換。然后就可以把最小值進(jìn)行輸出。
1、int (*f)()表示一個函數(shù)指針f,指向一個無形參、返回值為int的函數(shù)??芍苯恿頵指向滿足定義的函數(shù),然后以f()的形式調(diào)用。
2、p++ 是后加加,與 p=p+1 略有不同,在循環(huán)體內(nèi)部,p++ 落后一個時步,也就是做完一次循環(huán)體后它才增加1。p=p+1,在循環(huán)體內(nèi)部,即時增1。
3、int(*f)(int); 表示f是函數(shù)指針 , 它可以指向一個返回值為int類型,參數(shù)為int類型的函數(shù)。
4、(*p)()是指向函數(shù)的指針,可以說他是一個地址;*p()是指針函數(shù),可以把他當(dāng)成一個函數(shù)。具體的區(qū)別,你可以找譚浩強《C語言程序設(shè)計》看看。那里面講得很清楚。
5、if(*p) 一個是判斷p指向的內(nèi)存地址中的值是否為0 指針(Pointer)是編程語言中的一個對象,利用地址,它的值直接指向(points to)存在電腦存儲器中另一個地方的值。
6、表示的東西不同 p表示p代表相應(yīng)數(shù)據(jù)類型在存儲單元中存儲的首地址,而這個存儲單元存儲的是相應(yīng)類型數(shù)據(jù)的數(shù)值。
f表示函數(shù)名 同時也是函數(shù)指針 f()表示函數(shù)聲明或者調(diào)用。
如果自己沒有寫print函數(shù),用printf改成print會出現(xiàn)提示:warning C4013: print undefined; assuming extern returning int,意思是函數(shù)未定義。
f(3,4)表示調(diào)用函數(shù)f,3與4是傳遞給函數(shù)的參數(shù)。f的功能根據(jù)f的定義來確定,可能是求兩個數(shù)的和,也可能是求兩個數(shù)的最大值。
第循環(huán)一次i+1 printf(%d,f(a));//調(diào)用函數(shù),并打印出返回的值 } 函數(shù)調(diào)用的一般形式為:函數(shù)名(實參列表);實參可以是常數(shù)、變量、表達(dá)式等,多個實參用逗號,分隔。