函數(shù)的返回值頂多是一個(gè)數(shù),通過(guò)函數(shù)直接返回的這個(gè)數(shù)只有在是指針時(shí)才能給出多個(gè)數(shù)據(jù)結(jié)果。
創(chuàng)新互聯(lián)公司主要從事做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)博興,十多年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專(zhuān)業(yè),歡迎來(lái)電咨詢(xún)建站服務(wù):18980820575
可以考慮以下幾個(gè)方法:
返回指針:
int*?display() {?int *p;?p=malloc(sizeof(int)*6); ... return p;?} //用p[0]~p[5]計(jì)算各位
void main() {?int?*p; p=display(); ... free(p);?}
使用全局變量:將shiwa,wa,qiao,bai,shi,ge定義成全局變量,然后子程序和主程序直接用
使用函數(shù)參數(shù):
void display(int* shiwa,int* wa,int* qiao,int* bai,int* shi,int ge)
函數(shù)中用類(lèi)似這樣的用法計(jì)算:(*ge)=Data%10;
void main() {?int shiwa,wa,qiao,bai,shi,ge; display(shiwa,wa,qiao,bai,shi,ge)?}
用一個(gè)足夠長(zhǎng)的數(shù)返回:
long display() {?long n;?... n=shiwa; n*=10; n+=wa; n*=10; n+=qiao; n*=10; n+=bai; n*=10; n+=shi; n*=10; n+=ge; return n;?}
void main() {?int wa; long n; n=display(); wa=n/10000; wa%=10;?}
一個(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ù)格式為: 返回類(lèi)型 函數(shù)名(參數(shù));
沒(méi)有返回值的函數(shù)格式為: void 函數(shù)名(參數(shù));或 函數(shù)名(參數(shù));
在定義函數(shù)時(shí),函數(shù)體內(nèi)有返回值的要用return返回相應(yīng)的類(lèi)型值,而沒(méi)有返回值的不能用retur;語(yǔ)句,否則編譯器會(huì)警告出錯(cuò)!
C語(yǔ)言,有返回值的處理,可以分兩種情況,1,返回一個(gè)值,可以用:
返回類(lèi)型 函數(shù)名([參數(shù)列表])
{
return (返回值);
}
多個(gè)返回值,可以返回一個(gè)自定義結(jié)構(gòu)體,
返回結(jié)構(gòu)體 函靈敏名([參數(shù)列表])
{
return (結(jié)構(gòu)體名);
}
也可用指針的形式,直接操作,此時(shí),接收返回值變量的地址,可以以指針的形式,傳遞給函數(shù)),進(jìn)行操作,具體方法和實(shí)例.