新聞中心
C語言中自定義函數(shù)返回值的個(gè)數(shù)
在C中,正常情況下,我們只能從函數(shù)中返回一個(gè)值。但在有些情況下,我們需要從函數(shù)中返回多個(gè)值,此時(shí)使用數(shù)組或指針能夠很好地完成這樣的任務(wù)。這里是一
創(chuàng)新互聯(lián)專注于蘇尼特右企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè),商城網(wǎng)站建設(shè)。蘇尼特右網(wǎng)站建設(shè)公司,為蘇尼特右等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站制作,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
個(gè)示例,這個(gè)程序使用一個(gè)整型數(shù)組作為參數(shù),并將數(shù)組元素的和與積返回給調(diào)用函數(shù)。下面是C代碼,這是一種常見情況。下面給出實(shí)現(xiàn)技巧:
1.
#include
2.
#include
3. int*
Pool(int array[],int size)
4.
{
5.
int *x;
6.
int i=0;
7.
int
a[2]={0,1};
8.
for(i=0;i
9.
{
10.
a[0]+=array[i];
// 存儲(chǔ)數(shù)組元素值的和
11.
a[1]*=array[i];
// 存儲(chǔ)數(shù)組元素值的積
12.
}
13. //
將數(shù)組的基地址賦值給整型指針
14.
x=a[0];
15. //
返回整個(gè)數(shù)組
16.
return x;
17. }
18.
19. int main()
20. {
21. int
a[]={1,2,3,4};
22. int
*c; c = Pool(a,4);
23.
printf("Sum = %d\nProduct = %d\n",c[0],c[1]);
24.
getch();
25.
return 0;
26. }
這樣,我們就知道如何使用數(shù)組和指針從C函數(shù)中返回多個(gè)值。在很多情況下你會(huì)發(fā)現(xiàn)這個(gè)技巧很有用。
c語言中在一個(gè)自定義函數(shù)中怎么返回兩個(gè)值?
方法一:設(shè)置全局變量,這樣在形參中改變?nèi)肿兞?,在?shí)參中也會(huì)有效。所以可以在形參中改變多個(gè)全局變量的值,那么在實(shí)參中就相當(dāng)于返回多個(gè)值。
方法二:如果用數(shù)組名作為形參,那么改變數(shù)組內(nèi)容,比如排序,或者進(jìn)行加減運(yùn)算,回到實(shí)參時(shí)依然是有效的。這樣也會(huì)返回一組值。
方法三:可以利用指針變量,這個(gè)原理和方法二是一樣的,因?yàn)閿?shù)組名本身就是數(shù)組首元素的地址。就不多說了。 用結(jié)構(gòu)體封裝不同類型數(shù)據(jù),或者用數(shù)組表示同類型數(shù)據(jù),然后返回結(jié)構(gòu)體指針或者數(shù)組名,本質(zhì)都是用指針來返回多個(gè)參數(shù)
方法四:如果學(xué)過C++,可以引用參數(shù)
C語言自定義函數(shù)返回值的問題?
函數(shù)形參x和y和實(shí)參a和b是兩組不同的變量,交換x和y的值不影響a和b的值。
C語言自定義函數(shù)返回值的問題
你調(diào)用了a()之后,函數(shù)a()會(huì)返回一個(gè)5,但你沒有將其返回值保存起來,所以這個(gè)返回值會(huì)被拋棄。要么用一個(gè)變量將函數(shù)a的返回值保存起來:int b=a(),要么將函數(shù)的返回值作為另一個(gè)函數(shù)的參數(shù)輸入:printf("%d",a())。
在c語言中,自定義函數(shù)為何要返回值呢?
自定義函數(shù)的返回值不是必須的,如果函數(shù)運(yùn)行結(jié)束后需要一個(gè)結(jié)果給主調(diào)函數(shù)使用那就可以設(shè)置返回值,如果只是需要函數(shù)的運(yùn)行過程,過程結(jié)束后沒有其他要求就不用返回值
本文名稱:自定義函數(shù)c語言的返回值 c語言中函數(shù)返回
網(wǎng)頁URL:http://www.dlmjj.cn/article/dodgcss.html