c語言怎麼定義max函式,C語言怎麼定義max函式?

2021-04-19 08:30:23 字數 5937 閱讀 2857

1樓:忘忘忘

max函式

用於求最大值,可以定義如下函式:

int max(int a, int b)不過該函式只能用於整型而不能用於其內它型別。如容果有其它型別,比如浮點型,則需要再重新修改。

float max(float a , float b)其實這樣**量比較少的操作,可以定義為巨集函式,即帶參巨集定義的形式。

#define max(a,b) ((a)>(b)?(a):(b))這樣既可以不受引數型別限制,又可以提高執行效率。

不過從你的**來看,只需要定義int型別的max函式即可。

2樓:匿名使用者

這樣的例子網上應該是可以找到的,而且應該很容易的,比如:

// 在你的**後面加上:內

容int max(int a, int b)// 或者用更簡單的:

int max(int a, int b)其實也可以用巨集替換來完成,以取得更高的效率,用這樣的方法,你可以把**寫成:

#define max(a,b) (a>b)?(a):(b)main()

3樓:匿名使用者

if(x>y)

max=x;

else

max=y;

4樓:匿名使用者

max(x,y)

int x,y;

5樓:匿名使用者

int max(int a,int b);

main()

6樓:匿名使用者

c語言中有fmax函式,原型為 double fmax(double a, double b)

fmaxf可用於浮點數,fmaxl用於long double

c語言問題—max()函式

7樓:壞天空︷囝仔

max裡的叫形

bai參,可以隨便用du哪個都一樣的,大概zhi你是新dao手,不知道什麼是形參和版實參吧~

形參權與實參的區別:

高階語言在設計程式模組時,模組名定義後,緊跟其後所定義的引數(括弧內)被稱為形參(也稱虛參)。當該模組被呼叫時,在主調模組中,出現在被呼叫的模組名後的引數被稱為實參。實參代替虛參的過程被稱為虛、實結合,也稱換參。

多數高階語言的換參是由編譯系統來完成,比如c語言和fortran語言亦是如此。basic語言的換參則是由程式設計人員來完成的。如果只允許實參向虛參傳遞,則被稱為「單向傳遞」,c語言的變數類虛、實結合即是「單向傳遞」。

如果同時允許虛參向實參傳遞,這種傳遞被稱為「雙向傳遞」,fortran 語言定義的子程式即是如此。 當c語言的形參為陣列時,形參不另闢儲存單元,形參與實參共用記憶體儲存單元。這樣,可以節省記憶體。

c語言在定義函式的同時,對於有參函式,也同時定義了形參。在呼叫該函式的同時,也指明瞭實參。實參與形參在記憶體分別佔有兩套不同的儲存單元(陣列除外),但是形參只有在函式被呼叫過程中才分配儲存單元,呼叫結束後形參佔用的單元被釋放。

陣列元素作為實參時,也做為變數來處理。

8樓:匿名使用者

main()是主函式的入口,每一個程式執行都是從這裡開始,int max(int a,int y)是自定義函式返回值為整形,a y是函式形參

9樓:yx陳子昂

c語言沒有bai標準的max和min函式。

常規du情況下,幾乎zhi所有的編譯器使用巨集來dao實現 max() 及 min() 函式,回它們一般在答 stdio.h 這份檔案中以巨集方式被宣告。

使用巨集來實現的原因一般是因為這兩個函式非常簡單,它們一般的實現如下:

#define max(a,b) ( ((a)>(b)) ? (a):(b) )

#define min(a,b) ( ((a)>(b)) ? (b):(a) )

使用巨集的另外一個好處是使得該函式具備了「過載」功能,可以讓傳遞的引數不侷限於某種型別(只限基本型別-非結構型別),如 int 或 char。

10樓:匿名使用者

max()不是一個c語言裡提供給你的函式,而是程式設計師自己定義的。

是你看的那個程式回源**上,寫程答序的人自己定義了一個名為max的函式。它和main()函式不一樣,main()才是c語言函式庫裡已經定義好的,main()已經被賦予了意義,那就是每個c程式的主函式。而這個max()只是寫那個源**的人自己定義的。

就像你編寫程式時可以隨意定義變數,比如定義int a;就是定義了一個名字為a的整形變數而已,你也可以定義為int b;就是改變了他的名字。意義沒有改變。這個max(),你完全可以改名為num(),sum()等等函式,隨意改變它的名字。

int max(int a,int y)的意思是:

第一個int是用來定義max()這個函式為整形函式,max就是這個函式的名字。括號裡面的int a,int y是max函式所帶的引數,引數的意思就是,舉個例子,比如你數學裡面的一個函式f,它的表示式為:y=3x,這個表示式是我隨便寫的哈,那他的函式名就為f,引數就是y和x。

當然數學和程式裡的函式本質是完全不同的。int a,int y就是定義引數a為整形,引數y也為整形。

樓主,明白了嗎?

11樓:匿名使用者

這就是一函式的定義啊..

c語言中無法呼叫max函式?????????

12樓:

int max(int x, int y) // 函式定義這一句後面沒有分號, 函式體須放在大括號中

int main()

13樓:匿名使用者

int max,

這裡宣告瞭一個變數,而不是函式

兩個辦法解決

一個,吧int max(int x,int y)放在放在main前面一個,在int max,那麼,宣告成 int max(int x,int y);

14樓:匿名使用者

max函式沒有宣告 且你的main函式也沒有返回int數值

15樓:謝應宸

#include

#include

int max(int x, int y);

int main(void)

int max(int x, int y)else

return z;}

16樓:

int main(void)

int max(int x,int y) //加上返回值型別int

c語言中max,min具體用法是怎麼樣的

17樓:碧海風雲

c語言沒有max這個函式,需要自己定義並編寫max函式。

例如源**可以是:

#include

int max (int a, int b)int main()

執行結果

輸入 2 3

輸出 3

18樓:聽不清啊

max()不是一個c語言裡提供給你的函式,而是程式設計師自己定義的。

是你看的那個程式源**上,寫程式的人自己定義了一個名為max的函式。它和main()函式不一樣,main()才是c語言函式庫裡已經定義好的,main()已經被賦予了意義,那就是每個c程式的主函式。而這個max()只是寫那個源**的人自己定義的。

比方說,可以定義一個巨集來完成這個計算:

#include

#define max(a,b) ((a)>(b)?(a):(b))int main()

19樓:匿名使用者

原因很簡單:c不提供max、min等函式。

如果想要實現,有幾種簡單方法:

int min(int x,int y)

#define min(x,y) (((x)<(y))?(x):(y))

將任意一種複製到程式開頭(#include之後,main之前),即可。

20樓:仝蝶晁丙

它們是兩個

巨集定義,並非函式。使用方法如下例所示:

#include

#include

intmain(

void)//結果:

21樓:匿名使用者

c庫裡面沒有max min函式

所以 需要你自己定義的

你得寫一個max函式才行。

22樓:偽笑掩飾憂傷

//這個是自己宣告的函式 求最大值和最小值#include

int max(int x, int y)int min(int x, int y)int main()

23樓:蟹蟹沒有蟹黃堡

有個math庫  math庫裡有max這個函式 #define max(a,b)(a>b?a:b),是c語言版的行內函數

。第三行是一個三目運算子,可以這樣理解:

if ( a > b )

return a;

else

return b;

這是c++版的行內函數,不同的是多了個型別檢查,所以函式的資料型別不一定是float,可以是int,double......inline float max ( float a, float b )// (a>b?a:

b)。上面的與下面語句是等效的:

if ( a > b )

return a;

else

return b。

c語言是一門通用計算機程式語言,應用廣泛。c語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。

儘管c語言提供了許多低階處理的功能,但仍然保持著良好跨平臺的特性,以一個標準規格寫出的c語言程式可在許多電腦平臺上進行編譯,甚至包含一些嵌入式處理器(微控制器或稱mcu)以及超級電腦等作業平臺。

二十世紀八十年代,為了避免各開發廠商用的c語言語法產生差異,由美國國家標準局為c語言訂定了一套完整的國際標準語法,稱為ansi c,作為c語言最初的標準。

24樓:二狗出現了

因為max函式未定義。你必須自己實現max函式,才能使用它。

可以寫個函式,也可以用巨集。比如在include下一句寫上:

#define max(x,y) ( x>y?x:y )這句表示:當x>y時,max(x,y)的值為x,反之,則為y。

25樓:匿名使用者

首先 我沒聽說過有max和min關鍵字或者函式呼叫語句

你可以自己寫一個max或者min的函式,然後在主函式裡面進行呼叫

不知道你從**聽來的,不過你要是用max,就要自己編寫這個函式,然後進行呼叫

26樓:**ile一路清新

都檔案都沒包含進去,max函式在**定義了?

沒有找到定義就報錯了

27樓:

結構型別定義和結構變數說明  在實際問題中,一組資料往往具有不同的資料型別。例如, 在學生登記表中,姓名應為字元型;學號可為整型或字元型; 年齡應為整型;性別應為字元型;成績可為整型或實型。 顯然不能用一個陣列來存放這一組資料。

因為陣列中各元素的型別和長度都必須一致,以便於編譯系統處理。為了解決這個問題,c語言中給出了另一種構造資料型別——「結構」。 它相當於其它高階語言中的記錄。

  「結構」是一種構造型別,它是由若干「成員」組成的。 每一個成員可以是一個基本資料型別或者又是一個構造型別。 結構既是一種「構造」而成的資料型別, 那麼在說明和使用之前必須先定義它,也就是構造它。

如同在說明和呼叫函式之前要先定義函式一樣。

一、結構的定義定義一個結構的一般形式為: struct 結構名 ;成員表由若干個成員組成, 每個成員都是該結構的一個組成部分。對每個成員也必須作型別說明,其形式為:

型別說明符 成員名; 成員名的命名應符合識別符號的書寫規定。例如: struct stu;

c語言函式的定義問題,C語言函式的定義問題

void就是沒有返回值,不需要return 是否需要返回值是由你的需求決定的。陳恩點在此為你解答如有錯誤請見諒 不是沒有返回值 是void 不能有返回值 include int f int i int main 第一個void表示沒有該函式沒有需要帶回的資料 當你的函式當中需要呼叫了某個函式,但是你...

c語言 怎麼寫 可變 引數函式,c語言如何定義一個可變引數函式 如何呼叫其輸入的引數 分別

include 可變引數襲函bai數必要的du標頭檔案 include long int sum unsigned int argc,可變引數函式必須包含至少一個確定的引數 zhilong int srt 0 int va unsigned int i va list vl 用於指向可dao變引數列...

c語言中什麼是原型定義,C語言中函式的定義格式是什麼,函式原型宣告的語法格式?

我還直是不知道呢,我說說自己的理解吧,一個函式,可能在別外被引用或是在本檔案中但是要先引用了而後面才有函式定義,此時編譯器需要先行知道這個函式返回型別和引數類形,才可以正確的幫著做嚴格的資料型別和引數個數的檢查 如不提前申明就會當做是返回int 型,引數都當int型且不能檢查引數個數 這個函式在定義...