返回值和函式值的問題,C 函式返回值問題

時間 2023-01-27 15:00:06

1樓:網友

函式值跟返回值本來就是一回事。乙個函式只能返回乙個值,這個值是通過renturn 語句返回給main 函式的。

函式前面的int就是定義的返回值型別。

也就是這個被調函式工作完了,要給main函式乙個值,這個值的型別是int,如果你的int換成是float,char 以及其他任意資料型別,那麼return將返回相應型別的值。

2樓:

函式值不是定義函式的最後值,而是返回的值,即return(括號裡面的值)

這裡是沒錯啦!

理解函式不用這麼麻煩的。

首先看函式型別 一般為int double void函式是int型的 返回值就要是int型的。

double的返回值也要是double的。

void型的是沒返回值的。

3樓:

對的 函式宣告的時候,前面的型別就是返回值的型別。

c++函式返回值問題

4樓:匿名使用者

(1)函式的返回值是通過函式中的return語句獲得的。return語句將被呼叫函式中的乙個確定值帶回主調函式中去。

如果需要從被呼叫函式帶回乙個函式值(供主調函式使用),被呼叫函式必須包含return語句。如果不需要從被呼叫函式帶回函式值,則可以不要return語句。

乙個函式中可以有乙個以上的return語句,執行到哪乙個return語句,哪乙個語句起作用。

return語句後面的括號可以要,也可以不要,如「return z;」與「return (z);」等價。return後面的值可以是乙個表示式。例如:

int max(int x,int y)

如果在主調函式中呼叫它,比如:

a=max(1,2)

那麼函式max的return語句後面表示式的值就是2,也就是說max(1,2)=2,所以a=2

(2)函式值的型別。既然函式有返回值,這個值當然應屬於某乙個確定的型別,應當在定義函式是指定函式值的型別。例如下面是幾個函式的部首:

int max(float x,float y);/函式值為整型。

char letter(char c1,char c2);/函式值為字元型。

double min(int x,int y);/函式值為雙精度型。

void change(int a);/函式值為空。

(3)如果函式值的型別和return語句中表示式的值不一致,則以函式型別為準,即函式型別決定返回值的型別。對數值型資料,可以自動進行型別轉換。特別提一提void型別,如果乙個函式的型別為void,那麼,即使函式中有return語句且return語句中表示式的值不為空,返回值仍為空,嚴格滿足函式型別決定返回值的型別。

5樓:97樂於助人

因為主函式裡面呼叫了grade函式,而grade函式裡面有輸出語句,所以會有書上的結果。

並不是返回給了主函式值。

6樓:匿名使用者

.返回值是具體將值返回到定義函式時的行參上嗎?不是的,而是在函式的名稱前加上資料型別不過請注意:

返回值型別和所呼叫的引數的型別可以不一致。需要向樓主說明的一點是如何取得這個函式的返回值:我寫的比較多,不讓我發,說我重複字元太多了,你看我空間吧,答案在那裡,我不會刪的:

7樓:匿名使用者

void 不必要return

int 型別 一定要return

int max (int,int)

函式的返回值返回給誰?

8樓:匿名使用者

返回給呼叫它的另外乙個函式。

比如說你有乙個已經定義好的函式叫。

int son();

你在main()裡面有這麼一條語句。

x = son();x is predeclared */那麼son返回的值就被賦給了x.

其實函式呼叫不僅返回值,返回的是控制權(control)和值(如果有值可返回的的話)

若定義的函式是。

sun();

在main()裡面呼叫它sun();

那由於sun沒有返回值,它返回給main的其實是控制權。

9樓:網友

先給你舉個例子再來說明`

先2個宣告語句。

int max(int x,int y)

int a,b,c;

c=max(a,b);

函式的返回值通過函式名max帶回到 main主函式中呼叫 max的位置。

上面是宣告語句。

那我再把函式的定義寫出來。

int max(int a,int b)

函式值是通過return語句返回函式值的。

也就是,這個函式計算出什麼值,那在第3個語句中,c就被賦給什麼值了。

現在明白了嗎?

10樓:橘子不辣

使用 return 語句可以從函式中返回值。return 語句會使函式停止執行,然後將其替換為 return 動作的值。在函式中使用 return 語句時應遵守以下規則:

如果為函式指定除 void 之外的其它返回型別,則必須在函式中加入一條 return 語句。

如果指定返回型別為 void,則不應加入 return 語句。

如果不指定返回型別,則可以選擇是否加入 return 語句。如果不加入該語句,將返回乙個空字串。

例如,下面的函式返回引數 x 的平方,並且指定了返回值的型別必須為 number:

function sqr(x):number

11樓:銀瓶小思

函式返回值 給 呼叫函式的程式。

12樓:匿名使用者

給單元格,用=號,返回給函式的接收。

帶返回值得函式賦值問題

呼叫函式時有返回值與沒返回值有什麼不同

13樓:匿名使用者

在設計的時候的不同:

沒有返回值的時候,用void表示,一般用於肯定不會失敗的函式;有返回值,應該用相應的返回值型別表示,不寫的話,預設返回int型別,返回值可以標示需要返回的內容或函式失敗的原因。

使用中的不同,呼叫沒有返回值的函式,不必考慮返回值,直接呼叫即可,函式不能被賦值給變數或參與表示式運算;有返回值的函式,可以不理會返回值,也可以完全當乙個表示式使用,還可以根據返回值判斷函式的執行成敗。。

有返回值的函式的返回值能否是多個?

c語言write函式的返回值問題

14樓:

int write(int handle,void*buf,int len);

是自定義函式,返回值可以是任何整數,看程式是怎麼寫的。

例如:int write(int handle,void*buf,int len)

void main()

len = 20

k = 11

15樓:匿名使用者

大多數情況下,write成功後返回的寫入位元組數都等於你傳入的長度。

但是如果你要寫的長度超過了的檔案的最大可能時,比方說,你的磁碟還剩下128個位元組,這時你向磁碟上的某個檔案一次性寫512個位元組,返回值就是128,只有前128個位元組成功寫入。

再比如,你用write寫的不是乙個普通檔案,而是裝置檔案/socket等,那也可能返回值小於你指定的值,這就可能是具體裝置的限制等,比如寫入的數量超過了緩衝大小等。

c語言函式返回值什麼意思

16樓:教育知識的解答

返回值的意思是將函式實現的結果返回給呼叫者。

按標準來說,c的main函式是需要有返回值的。標準中main函式返回型別是int的,所以需要乙個返回值。但是由於歷史原因,很多地方可以看到沒有返回值的main。

比如直接main()或者說void main() 但是這樣一般編譯器也不會認為錯誤,不過建議還是寫標準的c的main函式,最好有乙個返回值,0表示正常退出。

17樓:匿名使用者

所謂函式返回值是乙個函式在運算結束以後向呼叫它的母函式或者系統反饋乙個值,這個值可以是各種變數型別。

舉個簡單的例子:

int add(int a,int b)

int main()

在主函式main中呼叫子函式add,並傳遞引數3和4過去,add經過運算後得到值7,通過return語句將得到的值返回給呼叫它的main函式供其使用,而在main中,返回值被用於給res賦值。

函式返回值就可以理解為解決乙個問題以後得到的結論,把這個結論交給別人,就像寫在書上成為乙個定理,來讓別人使用。

18樓:網友

你那個,int main ()裡面的return (0);不要吧?

19樓:暢雋

1在區域性變數中,主函式呼叫區域性變數的返回值。

2在主函式裡面表示:將函式的執行結果返回。

3在void型別函式裡面沒有返回值。

沒有返回值的函式有什麼用,c 問題,呼叫有返回值和沒有返回值的函式,為什麼不同呢?

小鏡子 無返回值的話就是函式本身無值,只起到處理的作用 輸入 輸出 賦值等 其功能相當於 由幾個語句構成的函式。通俗理解就是它本身是一段語句。一個函式的函式名既是該函式的代表,也是一個變數。由於函式名變數通常用來把函式的處理結果資料帶回給呼叫函式,即遞迴呼叫,所以一般把函式名變數稱為返回值。函數語言...

C函式返回引用,c 函式返回引用問題

1.指的是你返回乙個指向區域性變數的引用,包括引數。2.b是int型別,auto在c 中是乙個廢棄的關鍵字,不過在c 11中被重新啟用,用來自動推導型別。e是乙個引用型別,即可以想象成就是被引用的物件,所以當你取e的位址時,其實獲得的是被引用的物件位址。由於你的e引用的是乙個區域性變數,也就是棧上的...

matlab函式返回值怎麼設定

matlab的使用者可以在命令視窗中將輸入語句與執行命令同步,也可以先編寫好乙個較大的複雜的應用程式 m檔案 後再一起執行。p,s polyfit x,y,m 多項式y a1xm a2xm 1 amx am 1其中x x1,x2,xm x1 xm為 n 1 的矩陣 y為 n 1 的矩陣 p a1,a...