你調(diào)用了a()之后,函數(shù)a()會(huì)返回一個(gè)5,但你拿正沒(méi)有將其返回值保存起來(lái),所以這個(gè)返回值會(huì)被拋棄。要么用一個(gè)變量將函數(shù)a的返回值保存起來(lái):int b=a(),要么將函數(shù)的返回值作為另一個(gè)函數(shù)核槐的參數(shù)消氏悔輸入:printf("%d",a())。
創(chuàng)新互聯(lián)是專(zhuān)業(yè)的蕭山網(wǎng)站建設(shè)公司,蕭山接單;提供網(wǎng)站設(shè)計(jì)、成都網(wǎng)站設(shè)計(jì),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專(zhuān)業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行蕭山網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專(zhuān)業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專(zhuān)業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!
一個(gè)函數(shù)的函數(shù)名既是該函數(shù)的代表,也是一個(gè)變量。由于函數(shù)名變量通常用來(lái)把函數(shù)的處理結(jié)果數(shù)據(jù)返回給調(diào)用函數(shù),即遞歸調(diào)用,所以一般把函數(shù)名變量稱(chēng)為返回值,函數(shù)的返回值類(lèi)型是在定義函數(shù)時(shí)指定的。
函數(shù)可以有返回值,也可以沒(méi)有返回值。
1、沒(méi)有返回值的函數(shù):功能只是完成一個(gè)操作,應(yīng)將返回值類(lèi)型定義為void,函數(shù)體內(nèi)可沒(méi)有return語(yǔ)句。
2、有返回值的函數(shù)讓棗蘆:函數(shù)的最后會(huì)有一個(gè)返巖基回值return,可以用來(lái)獲取該函數(shù)執(zhí)行結(jié)果返回給該函數(shù),讓外部調(diào)用該函數(shù)的。
一個(gè)函數(shù)的函數(shù)名既是該函數(shù)的代表,也是一個(gè)變量。由于函數(shù)名變量通常用來(lái)把函數(shù)的處理結(jié)果數(shù)據(jù)返回給調(diào)用函數(shù),即遞歸調(diào)用,所以一般把函數(shù)名變量稱(chēng)為返回值,函數(shù)的返回值類(lèi)型是在定義函數(shù)時(shí)指定的。
擴(kuò)展資料
C程序中的print函數(shù):
是這樣寫(xiě)的:printf("%d\n",printf("%d",printf("%d",i)));
一共有三個(gè)printf函數(shù),我們可以使用一些代號(hào)來(lái)簡(jiǎn)化這個(gè)printf函數(shù),如下:
代號(hào)A: printf("%d",printf("%d",i));
代號(hào)B: printf("%d",i)
則C程序代碼可以簡(jiǎn)化為:printf("%d\n",A); 那么我們就先來(lái)求A。而A,又可以簡(jiǎn)化為:printf("%d",B);那么就先來(lái)求B。
B是 printf("%d",i),打印出“123”,即在C語(yǔ)言運(yùn)行結(jié)果坦帶中,你最先看到的是123。C語(yǔ)言printf函數(shù)的返回值是printf實(shí)際控制輸出的字符數(shù),那么打印的123 就是3個(gè)字符,因此printf("%d",i)返回的就是3,也就是B是3。
那么,A就可以寫(xiě)為printf("%d",printf("%d",3));打印出3,即在運(yùn)行結(jié)果中,你緊接著會(huì)看到3。
而打印出的3是1個(gè)字符,因此A就是1,那么printf("%d\n",A); 實(shí)際上就是printf("%d\n",1); 打印出1。
參考資料來(lái)源:百度百科-返回值
使源告氏用函數(shù)友正內(nèi)部的雹散靜態(tài)變量就能實(shí)現(xiàn)啦。例子如下:
#include
stdio.h
int
foo()
{
static
int
count=0;
//
靜態(tài)變量count統(tǒng)計(jì)調(diào)用次數(shù)
++count;
//
沒(méi)調(diào)用一次count+1
return
count;
//
返回調(diào)用次數(shù)
}
int
main()
{
foo();
//
調(diào)用一次
foo();
//
調(diào)用一次
foo();
//
調(diào)用一次
printf("%d\n",foo());
//
輸出調(diào)用次數(shù)為4,因?yàn)閜rintf里面還調(diào)用了一次。
}
你可以這么理解,比如我們定義了一個(gè)函數(shù)fun(),如果這個(gè)函數(shù)有返回值,那么在調(diào)用程序里面(比如主函數(shù)冊(cè)高)就可以把這個(gè)函數(shù)當(dāng)成一個(gè)數(shù)使用;如果沒(méi)有返回值,那么通常他就是一個(gè)獨(dú)立的語(yǔ)句存在。
比如fun函數(shù)里面有個(gè)州和尺return 0;表示返回值是零,那么在調(diào)用函數(shù)里面就可以存在諸如
a=fun();b=a+fun();if(fun()=0{};……這類(lèi)的語(yǔ)句,表示a=0;b=a+0;if(00){};等等,當(dāng)然也可能是返回一個(gè)變量的值,你個(gè)指針的值是一樣的。
如果沒(méi)有return 語(yǔ)句,那么函數(shù)沒(méi)有返回值,調(diào)用函數(shù)里面就不能把他當(dāng)做一個(gè)數(shù)值來(lái)使用,會(huì)出現(xiàn):
fun();單獨(dú)成句的語(yǔ)句,在fun()里面可能進(jìn)行了一些操作,但不需要結(jié)果。
C語(yǔ)言自帶的函數(shù)通常都有返回值,計(jì)算函數(shù)返回計(jì)算結(jié)果,操棚凳作函數(shù)返回操作結(jié)果(成功返回1,失敗返回0)
文章題目:c語(yǔ)言定義一個(gè)函數(shù)返回值 c語(yǔ)言定義函數(shù)return
本文路徑:http://www.chinadenli.net/article0/ddpgdoo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、微信公眾號(hào)、靜態(tài)網(wǎng)站、搜索引擎優(yōu)化、ChatGPT、企業(yè)網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)