c如何函式返回值,c如何函式返回值

2021-03-03 21:56:13 字數 5548 閱讀 2386

1樓:李淵1號

返回值是右值(只能在等號右邊),可以用一個變數來接受收

函式也可以通過引用和指標來改變外部變數的值

c++中的返回值指的是什麼?

2樓:匿名使用者

首先,c語言中的函式有兩種形式:1)有返回值,2)無返回值。有返回值的函式會把內執行的結果(容也就是你寫這個函式的目的)返回到主函式中。

沒有返回值的函式主要是為了完成某種任務(其實這是廢話,函式的功能就是為了完成某種任務。)而一般沒有任何值返回到主函式中(也可以通過在無返回值的函式中操作全域性變數來改變主函式中的變數的值)。函式宣告的方式是:

type functionname(type argument1,type argument2....type argumentn)

type 可以為任意的c語言中的資料型別。也可以為void(即無返回值)。

其次,main函式的前面可以為int也可以為void.因為main函式也是函式(廢話)。當這個函式執行完畢之後會返回給系統一個值,0表示正確(常)執行。

如果你寫void的話,編譯除錯的時候,編譯器會自動像系統返回一個值。

第三,在寫c++程式的時候一般寫:

int main()

c++函式返回值是什麼意思,幹什麼的?

3樓:匿名使用者

就是函式返回的值,返回值的型別取決於函式本身。

比如定義函式 fun

int fun()//就是返回int型別值bool fun()//就是返回bool值比如定義函式:

int aplusb(int a,int b)在主函式中呼叫時函式會返回a+b得值。

int main()

會輸出13。

4樓:97樂於助人

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

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

c++的函式返回值是什麼意思 通俗點講

5樓:會飛的小兔子

c++的函bai

數返回值是由於函式名變數du通常用來把函zhi數的處理結dao果資料返回給呼叫函版數,即遞迴呼叫,所權以一般把函式名變數稱為返回值,函式的返回值型別是在定義函式時指定的。

函式可以有返回值,也可以沒有返回值:

1、沒有返回值的函式:功能只是完成一個操作,應將返回值型別定義為void,函式體內可沒有return語句。

2、有返回值的函式:函式的最後會有一個返回值return,可以用來獲取該函式執行結果返回給該函式,讓外部呼叫該函。

擴充套件資料

返回值的原理

函式名變數通常用來把函式的處理結果資料帶回給呼叫函式,即遞迴呼叫,所以一般把這個函式名變數稱為返回值。就是處理結果,main函式裡的返回值是給作業系統的,返回0表示正常結束,返回負數便是不正常結束。

函式相當於人的行為,有的需要一個結果,有的不需要,比如,你叫你同學去拿一本書,返回結果便是那本書。

6樓:匿名使用者

返回值概念:一個函式的

函式名既是該函式的代表,也是一個變數。由於函式名變數通常用內來把函式容的處理結果資料帶回給呼叫函式,即遞迴呼叫,所以一般把函式名變數稱為返回值。

通俗點來說就是函式執行完畢後得到的結果。返回值的型別可以有很多 void、bool 、int 、以及自定義的型別等等,返回值還和編譯環境有關,有些環境的bool型使用boolean表示的,需要注意不要搞混了

當然了函式可以有返回值,也可以沒有返回值。對於沒有返回值的函式,功能只是完成一個操作,應將返回值型別定義為void,函式體內可以沒有return語句,當需要在程式指定位置退出時,也可以在該處放置一個return;

7樓:聽雨樓之鐵血

樓主不知道那

bai個要不要解釋下實

du參和形參的概念zhi啊?dao恩,就是說,你回給函式的值,就只是把答變數的值給了形參,而地址沒有傳遞給它,就是說,如果沒有返回值的話,你在函式中修改過的值,是無法傳遞到實參上去的。我舉個例子吧:

void plus (int a ,int b)int main()

這個void 就是不要返回值的意思。那麼這個例子的意思就是a+b=c對吧,但是主函式中你呼叫這個函式的話,c的值是不會改變的,還是等於4.就是說,有了返回值,return c;後,c的值就是等於3了,樓主這樣感覺能理解嗎?

8樓:匿名使用者

比如1個函式是計算1+1=幾的,但是計算出來了是等於2,只有此函式知道,別人不知道啊。

用另外1個函式呼叫你,然後你被呼叫就返回2就可以。

9樓:匿名使用者

為什麼要返回

?bai

不是所有du的函式都需要返回值zhi的,這個得看你調dao用函式的目的專是什麼,如果你需

屬要通過一段**實現計算某一個結果,並且這個結果在後面的程式中會使用到,那麼你就需要讓這個函式返回一個值,你便你在後面的程式中利用。

函式的返回點是呼叫點

返回給誰?這個就看你用什麼來接收了,可以是變數,可以是函式。函式執行完成後,會回到函式的入口處。

如果有返回值,那麼返回給你用來接收結果的那個變數,要是沒有返回值的話,就不返回給任何東西,比如是引用或指標類的,直接對實參的地址進行操作的函式

10樓:匿名使用者

比如copy

int add(int a,int b)

這個bai函式用來計算a,b的和,當然要du返回a+b的值

zhi你可以這樣呼叫:

int c=add(3,4);

這個函式就會把數字dao7返回給c

11樓:匿名使用者

打個比方,你讓一個人去做事,然後他做了,但是你不知道他做了沒?有沒完成?完成的怎麼樣?這時他必須通知你一下,這就是返回值。

12樓:匿名使用者

通常返回值的話,會被下一個函式使用到

13樓:中國多金男

先計算return後這個函式返copy回bai值的值 再把計算的值返回給先前du的函式zhi

如int add(int x,int y)

先計算 sub (3,4) 得出int 值 7,再把7作為返回值返回給add函式

14樓:匿名使用者

返回給呼叫者

簡單點說:程式就是接收輸入提供輸出

c++函式返回值問題怎麼寫?

15樓:手機使用者

(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語句中表示式的值不為空,返回值仍為空,嚴格滿足函式型別決定返回值的型別。

c++怎麼輸出函式的返回值

16樓:穩住大神

int fun()

void main()

{cout<

c\c++ 定義函式返回值不需要的情況下返回一個值有什麼好處

17樓:紫色學習

有返回值表示正確。

return 0;

0表示正常。在main函式中返回0,代表程式正常結束。

void宣告的函式表示不需要返回值,其實預設return 0,表示函式正常結束。

在其他宣告有返回值的函式,如int add(...)進行加法操作,你返回一個值就是兩個數相加後的結果,這個值是你需要在函式結束後獲取的一個數值,因為你需要知道這個值是多少。

18樓:匿名使用者

你說的這問題總結一下有幾點可以說:

首先就拿你說的strcat來說吧,它的返回值型別你可能沒用過,不過型別是char*你可能也能夠猜到它是連線後的字串了。而且它確實如此。strcat(s,t);通過這個呼叫以後,t串將連到s串後邊,那麼s串就是我們連線好的串,同時它的返回值也是連線好的串,也就是返回值也是s,這就使得一個問題得以方便,比如我要連線這個串後並輸出,那麼你可能寫的**是這樣:

strcat(s,t);

printf("%s\n",s);

但此處我也可以這麼寫:printf("%s",strcat(s,t));

我高興的話還可以這麼寫:printf(strcat(s,t));

以上三個結果都是一樣的。那你看,很顯然後兩種更簡潔一些。

這也就總結出第一條,在處理程式中使得某些問題簡化。通常這種在引數為指標時常見

再來看一個scanf 它的返回值,它的返回值你也應該從來沒有用過吧?它的意義是返回正確讀入變數的個數,比如scanf("%d",&i);如果正確讀入一個整數的話它就返回1,否則返回0

那麼通過這個1和0我們就可以判斷它是否正確讀入的變數,並且讀了幾個。在acm中我們常見的寫法是while(scanf("%d",&n)!=eof) 來實現資料的迴圈讀入

那麼這第二條便是通過返回值來判斷成敗。

再比如說fopen這個是開啟檔案的函式,它的返回值我們常用,這裡只是提一點,它其實會返回開啟的檔案指標,但有一種情況就是檔案沒有開啟,或是開啟失敗,這時初學者常忽略一個問題就是如果失敗了咋辦,如果不特別處理你還使用著那個失敗的檔案指標必然得不到想要的結果,甚至出現問題。所以別忘了某些函式在失敗的時候的返回值,這和你問題似乎有些連繫。

總結大至是以上三點吧,一個函式返回值並不是沒有用的,庫函式即然設定了一般都會有它的用意。

19樓:

很多函式在執行成功或不成功時都會返回一個整數,表示運**況(像0或非零數),所以才在定義時新增了整型的返回值。這些返回值可以幫助程式設計師恰當地處理程式中的異常。

關於C 函式返回值的問題,C 函式返回值問題

include class test public test int x 0 i x cout 新建的該物件的地址為 test cout 析構地址為 正確輸出,不過你的 確實認人匪姨所思 與實參的問題 以一個簡單的程式為例來說明 void mswapa int a,int b 這 兩個函式都是交換a...

c語言中函式返回型別和函式返回值

函式的返回值bai 通過return語句來執du行,即zhireturn後的變數或表示式的值dao 就為專該函式的返回值 你可以根屬據需要自定義返回什麼值 而返回值的型別是指該值你想要得到的型別,比如return a a的型別,你在函式體裡定義的是int a 但根據需要,你要的是一個float型的返...

C語言access函式返回值問題

你語句寫錯bai了,應該是du if access const char filepath,int mode 沒有分號 else 檔案不存在 zhi,返回 1,整個表示式是真,執行if體裡的dao語句.我不回知道你access函式怎麼實現的,但你答應該這樣 define file not exist...