當前位置:首頁 » 編程語言 » c語言和函數返回值
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言和函數返回值

發布時間: 2022-12-30 13:57:23

c語言中函數的返回值到底是什麼意思,有什麼用

一個函數的函數名既是該函數的代表,也是一個變數。由於函數名變數通常用來把函數的處理結果數據返回給調用函數,即遞歸調用,所以一般把函數名變數稱為返回值,函數的返回值類型是在定義函數時指定的。

函數可以有返回值,也可以沒有返回值。

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

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

一個函數的函數名既是該函數的代表,也是一個變數。由於函數名變數通常用來把函數的處理結果數據返回給調用函數,即遞歸調用,所以一般把函數名變數稱為返回值,函數的返回值類型是在定義函數時指定的。

(1)c語言和函數返回值擴展閱讀

C程序中的print函數:

是這樣寫的:printf("%d ",printf("%d",printf("%d",i)));

一共有三個printf函數,我們可以使用一些代號來簡化這個printf函數,如下:

代號A: printf("%d",printf("%d",i));

代號B: printf("%d",i)

則C程序代碼可以簡化為:printf("%d ",A); 那麼我們就先來求A。而A,又可以簡化為:printf("%d",B);那麼就先來求B。

B是 printf("%d",i),列印出「123」,即在C語言運行結果中,你最先看到的是123。C語言printf函數的返回值是printf實際控制輸出的字元數,那麼列印的123 就是3個字元,因此printf("%d",i)返回的就是3,也就是B是3。

那麼,A就可以寫為printf("%d",printf("%d",3));列印出3,即在運行結果中,你緊接著會看到3。

而列印出的3是1個字元,因此A就是1,那麼printf("%d ",A); 實際上就是printf("%d ",1); 列印出1。

⑵ C語言-函數返回值return

①為什麼需要return?

為了回答這個問題,

我打算用 模塊思維 來解釋。

②定義模塊(形參模塊)

定義函數:f(s)(a,b)

滿足公式:s=a+b

函數名:f(s)

形參: a,b(公式中的 變數

函數返回值:return s

③調用模塊(實參模塊)

主函數:main()表示用戶自己編寫的部分

調用函數:f(s)(1,2)

滿足公式:x=f(s)(1,2)

函數名:f(s)和定義函數一致,產生調用

實參 :1,2( 賦值 給公式的值)

求值:printf("%d\n",x),求x的值?

④值的傳遞過程

調用模塊 中調用函數x=f(s)(1,2)

將實參1和2的值賦值給

定義模塊 中的形參a和b

(實參到形參是單向傳遞,不可逆)

定義模塊計算出s=a+b=1+2=3

定義模塊 中的return s

將s的值賦值給

調用模塊 中的函數f(s)(1,2)

即x=f(s)(1,2)=s=3

~

return s的作用

就是將定義模塊中的s

賦值 給調用模塊中的調用函數

如果沒有return s

調用模塊中的調用函數將永遠沒有定值

即所求x 無定值

這一點和數學不一樣,

數學中

同一函數名的值是 通用 的,

C語言中

定義函數和調用函數的值是 隔離 的,

盡管函數名一樣

如果不賦值,調用函數永遠無定值。

⑶ c語言,什麼是函數的返回值,怎樣的函數才需要返回值,或者怎樣才不需要

簡單的說,函數就是一個演算法,有不有返回值是跟這個函數做什麼的有關系。
一般情況下,求和這類的就要返回值,比如
int
add(int
a,int
b)
{
return
a+b;//這就返回a+b的和,用函數的時候,你只要傳a,b的值就得了
}
用的時候這樣:
int
s=add(100,200);
//就把100+200也就是300的值賦給s了
這種情況就是相當於你去A地做買東西,你肯定得拿東西回來。你拿回來的東西也就是返回值
-------------------------------------------
還有些不用返回值的,比如,輸出,或者給有地址的變數賦值等
這些函數前面就可以用void
表示無返回值,當然你也可以返回你想返回的。比如說成功或者失敗返回true
or
false.也可以隨意返回一個int型的
1或者0
比如:
void
pri(int
i)
{
printf("%d",i);//這個就是列印一個整型的i出來
}
這種就像你去A地不幹什麼,就去那兒吼兩句,也就不用拿什麼回來了。
還有種給有地址的變數賦值。那就相當於你去a地寄了一封信,也不用什麼什麼回來。
啊,打得手累,我就這樣理解了。給是清楚點了,呵呵

⑷ c語言的返回值是什麼意思啊

函數返回值的意思是將函數實現的結果返回給調用者。

按標准來說,C的main函數是需要有返回值的。標准中main函數返回類型是int的,所以需要一個返回值。但是由於歷史原因,很多地方可以看到沒有返回值的main。

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

(4)c語言和函數返回值擴展閱讀:

需要說明的是:

1、一個C語言源程序可以由一個或多個源文件組成。

2、每個源文件可由一個或多個函數組成。

3、一個源程序不論由多少個文件組成,都有一個且只能有一個main函數,即主函數。是整個程序的入口。

4、源程序中可以有預處理命令(包括include 命令,ifdef、ifndef命令、define命令),預處理命令通常應放在源文件或源程序的最前面。

5、每一個說明,每一個語句都必須以分號結尾。但預處理命令,函數頭和花括弧「}」之後不能加分號。(結構體、聯合體、枚舉型的聲明的「}」後要加「 ;」。)

6、標識符,關鍵字之間必須至少加一個空格以示間隔。若已有明顯的間隔符,也可不再加空格來間隔。

⑸ c語言中,函數返回值怎麼用

return後接一個值。
在調用這個函數的函數裡面,調用它的時候希望獲得一個值,如果不希望獲得這個值的時候,用void聲明就好。如果需要,比如說需要得到一個整形值
就聲明
int func()
在調用它的比如main裡面
func()的作用就可以相當於一個int型常數
比如外面定義了
int max(int a,int b)
{
return a>b?a:b;
}
主函數裡面是
main()
{
int A;
A=max(1,2);
}
這時候就是通過max計算 1>2 則return 一個1 ,1<2 則return一個2。很明顯1<2 所以這里max(1,2)就會return 一個 2
這時候主函數里的max(1,2)就相當於一個常數 2
A=max(1,2)的作用就相當於A=2
這個意思。

⑹ C語言函數中的返回值是什麼意思

C語言函數中的返回值就是此函數返回被調用處時,可以有一個確定的值。這個值在被調函數中由 return ...; 語句確定。

⑺ c語言的函數返回值

所謂返回值,就是人們想要知道函數或者程序所得到 的結果而設計的函數或者程序結束時給出一個值。比如:我們編寫一個加法函數,肯定想知道加完過後的結果是什麼,那麼我們就指定這個結果為該加法程序的返回值。

關於返回值的返回:
1、函數調用語句本身代表其返回值:例如:fun(a);那麼「fun(a)」就是這個返回值。
2、可以把返回值存到對應類型的變數之中。例如:int a=fun(b);
3、返回值是多種多樣的,可以是各種各樣的,int short char double 等等,還可以是指針或者結構體。在數據結構的二叉樹部分,某一個函數的返回值是一個帶有兩個指針的結構體。

⑻ C語言中函數返回類型和函數返回值

返回值:就是在函數調用中被調用的函數會帶回一個函數運行得到的值!
函數返回類型可以是預定義類型(如int
或double)、復合類型(如int&或double*)、用戶定義類型(如枚舉類或void
後者意指函數不返回值)

⑼ C語言中什麼是函數的返回值

當一個函數不是void型的時候就必須有一個返回值(main)函數除外,這個返回值就看你這個函數本身是什麼型的。返回值經常用來標志一些東西,比如一個游戲程序中的函數int
win()用來判斷輸贏,輸返回0,贏返回1,然後主調函數可以根據它的返回值做相應的處理,比如這樣的句子
if(win())
speed++;(進入下一關)。