⑴ 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++;(進入下一關)。