新聞中心
C語言函數(shù)調(diào)用中數(shù)組作為函數(shù)參數(shù)的返回值是直接把數(shù)組返回還是一個一個返回?
不能夠返回整個數(shù)組,只能返回數(shù)組中的某個值。如果數(shù)組在函數(shù)內(nèi)部定義,也不能直接返回數(shù)組名(臨時變量在函數(shù)結(jié)束時會釋放)。一般寫程序不會把數(shù)組作為返回值返回,想要返回整個數(shù)組,可以用指針來實現(xiàn)。

創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供西山網(wǎng)站建設、西山做網(wǎng)站、西山網(wǎng)站設計、西山網(wǎng)站制作等企業(yè)網(wǎng)站建設、網(wǎng)頁設計與制作、西山企業(yè)網(wǎng)站模板建站服務,十年西山做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡服務。
c語言中函數(shù)的返回值到底是什么意思,有什么用
一個函數(shù)的函數(shù)名既是該函數(shù)的代表,也是一個變量。由于函數(shù)名變量通常用來把函數(shù)的處理結(jié)果數(shù)據(jù)返回給調(diào)用函數(shù),即遞歸調(diào)用,所以一般把函數(shù)名變量稱為返回值,函數(shù)的返回值類型是在定義函數(shù)時指定的。
函數(shù)可以有返回值,也可以沒有返回值。
1、沒有返回值的函數(shù):功能只是完成一個操作,應將返回值類型定義為void,函數(shù)體內(nèi)可沒有return語句。
2、有返回值的函數(shù):函數(shù)的最后會有一個返回值return,可以用來獲取該函數(shù)執(zhí)行結(jié)果返回給該函數(shù),讓外部調(diào)用該函數(shù)的。
一個函數(shù)的函數(shù)名既是該函數(shù)的代表,也是一個變量。由于函數(shù)名變量通常用來把函數(shù)的處理結(jié)果數(shù)據(jù)返回給調(diào)用函數(shù),即遞歸調(diào)用,所以一般把函數(shù)名變量稱為返回值,函數(shù)的返回值類型是在定義函數(shù)時指定的。
擴展資料
C程序中的print函數(shù):
是這樣寫的:printf("%d\n",printf("%d",printf("%d",i)));
一共有三個printf函數(shù),我們可以使用一些代號來簡化這個printf函數(shù),如下:
代號A: printf("%d",printf("%d",i));
代號B: printf("%d",i)
則C程序代碼可以簡化為:printf("%d\n",A); 那么我們就先來求A。而A,又可以簡化為:printf("%d",B);那么就先來求B。
B是 printf("%d",i),打印出“123”,即在C語言運行結(jié)果中,你最先看到的是123。C語言printf函數(shù)的返回值是printf實際控制輸出的字符數(shù),那么打印的123 就是3個字符,因此printf("%d",i)返回的就是3,也就是B是3。
那么,A就可以寫為printf("%d",printf("%d",3));打印出3,即在運行結(jié)果中,你緊接著會看到3。
而打印出的3是1個字符,因此A就是1,那么printf("%d\n",A); 實際上就是printf("%d\n",1); 打印出1。
參考資料來源:百度百科-返回值
C語言函數(shù)調(diào)用關于數(shù)組的返回
不用返回了,你這里函數(shù)里直接對數(shù)組元素進行操作,調(diào)用完之后a就是排好的
#includestdio.h
main()
{
int
a[count];
……;
order(a,count);//在這個地方調(diào)用排序(地方一)
……
}
void
order(int
a[],int
count)
//數(shù)組按從小到大排序
{
int
i,j,x;
for(i=0;icount;i++)
for(j=i+1;jcount;j++)
if(a[i]a[j])
{
x=a[i];
a[i]=wa[j];
a[j]=x;
}
}
c語言中調(diào)用函數(shù)的返回值,如果是數(shù)組,主函數(shù)要輸出這個數(shù)組怎么實現(xiàn)啊
用指針,另外保存數(shù)據(jù)的變量退出函數(shù)時不得消失。
例如:
#includestdio.h
int * fun(int n)
{
int i;
static int a[100]; // 這里用static
for (i=0;in;i++) a[i]=i;
return a[0];
}
void main()
{
int i,n=5;
int *p; // 聲明指針
p = fun(n); // 返回指針
for (i=0;in;i++) printf("%d\n",p[i]); // 把 p 看成數(shù)組來輸出
}
得 0 1 2 3 4
擴展資料:
注意事項
1、數(shù)組的維度必須是一個常量表達式
int main(void)
{
constexpr int i = 20;
int j = 5;//不是常量表達式
int arr1[i];//正確
int arr2[j];//錯誤
system("pause");
return 0;
}
2、默認情況下,數(shù)組的元素被默認初始化。
而且需要注意的是,和內(nèi)置類型的變量一樣,如果在函數(shù)內(nèi)部定義了某種內(nèi)置類型的數(shù)組,那么默認初始化會令數(shù)組有未定義的值。
c語言函數(shù)返回數(shù)組?
在C語言中,無法直接返回一個數(shù)組,但是可以通過返回對應類型指針的方式,返回數(shù)組。
在大多數(shù)情況下,一維數(shù)組和一維指針是可以通用的。
比如,定義一個函數(shù),申請一定長度的整型動態(tài)數(shù)組,其長度用參數(shù)傳入,并將結(jié)果返回。如出錯,返回空指針NULL。 代碼可以寫成如下形式:
int?*int_array_create(int?n)//參數(shù)n為數(shù)組元素個數(shù)
{
int?*r;?
if(n=0)?return?NULL;//參數(shù)錯誤
r?=?(int?*)malloc(sizeof(int)*n);//申請內(nèi)存空間,大小為n個int長度。
return?r;//返回得到的整型數(shù)組的指針。?
}
分享文章:c語言數(shù)組調(diào)用函數(shù)返回值,c語言函數(shù)返回數(shù)組的方式
標題網(wǎng)址:http://www.dlmjj.cn/article/dschjig.html


咨詢
建站咨詢
