return后接一個值。

10年積累的成都網(wǎng)站設(shè)計、做網(wǎng)站經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計后付款的網(wǎng)站建設(shè)流程,更有關(guān)嶺免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
在調(diào)用這個函數(shù)的函數(shù)里面,調(diào)用它的時候希望獲得一個值,如果不希望獲得這個值的時候,用void聲明就好。如果需要,比如說需要得到一個整形值
就聲明
int func()
在調(diào)用它的比如main里面
func()的作用就可以相當(dāng)于一個int型常數(shù)
比如外面定義了
int max(int a,int b)
{
return ab?a:b;
}
主函數(shù)里面是
main()
{
int A;
A=max(1,2);
}
這時候就是通過max計算 12 則return 一個1 ,12 則return一個2。很明顯12 所以這里max(1,2)就會return 一個 2
這時候主函數(shù)里的max(1,2)就相當(dāng)于一個常數(shù) 2
A=max(1,2)的作用就相當(dāng)于A=2
這個意思。
在C語言中,函數(shù)只能返回一個值,要返回兩個值,可以改換思路,通過其它方式做到。
1 建立數(shù)組,返回指針。
在要返回的兩個值類型相同時,可以用創(chuàng)建數(shù)組的方式,將要返回的值存在數(shù)組中,并返回數(shù)組首地址,這樣就可以實現(xiàn)返回兩個值的效果。
需要注意的是,要返回數(shù)組首地址,那么返回的值不可以是局部變量,有如下幾種是可以的:
a) 使用靜態(tài)局部變量存儲,并返回地址;
b) 使用全局變量存儲,返回地址;
c) 函數(shù)中動態(tài)分配內(nèi)存,并返回申請到的地址,此種方法需要注意,在使用后需要釋放;
d) 在參數(shù)中傳入數(shù)組地址,并返回。即返回的實際上是主調(diào)函數(shù)中的變量地址。
2 建立結(jié)構(gòu)體,返回結(jié)構(gòu)體變量。
將需要返回的值,寫成結(jié)構(gòu)體形式,并返回結(jié)構(gòu)體變量,這樣可以實現(xiàn)一個返回值中含有多組數(shù)據(jù)。
3 當(dāng)數(shù)據(jù)規(guī)模較小時,可以采用將小規(guī)模數(shù)據(jù)合并為大規(guī)模數(shù)據(jù)的方式,進(jìn)行返回。
比如,需要返回兩個char型數(shù)據(jù)時,可以通過返回一個short數(shù)據(jù),高地位分別存儲各自的值。
除以上方法外,還可以不使用返回值的方式,而是通過函數(shù)參數(shù)傳值,或者全局變量傳值等方式,將要返回的值回傳給主調(diào)函數(shù)。
首先,C語言中的函數(shù)有兩種形式:1)有返回值,2)無返回值。有返回值的函數(shù)會把執(zhí)行的結(jié)果(也就是你寫這個函數(shù)的目的)返回到主函數(shù)中。沒有返回值的函數(shù)主要是為了完成某種任務(wù)(其實這是廢話,函數(shù)的功能就是為了完成某種任務(wù)。)而一般沒有任何值返回到主函數(shù)中(也可以通過在無返回值的函數(shù)中操作全局變量來改變主函數(shù)中的變量的值)。函數(shù)聲明的方式是:
Type FunctionName(type argument1,type argument2....type argumentn)
{
//函數(shù)體
}
type 可以為任意的C語言中的數(shù)據(jù)類型。也可以為VOID(即無返回值)。
其次,main函數(shù)的前面可以為int也可以為void.因為main函數(shù)也是函數(shù)(廢話)。當(dāng)這個函數(shù)執(zhí)行完畢之后會返回給系統(tǒng)一個值,0表示正確(常)執(zhí)行。如果你寫void的話,編譯調(diào)試的時候,編譯器會自動像系統(tǒng)返回一個值。
第三,在寫C++程序的時候一般寫:
int main()
{
....
....
return 0;
}
函數(shù)參數(shù)和
返回值
三種傳遞方式:值傳遞、指針傳遞和引用傳遞
引用與指針的比較
引用是
C++中的概念,初學(xué)者容易把引用和指針混淆一起。一下程序中,n
是m
的一個引用(
reference
),m
是被引用物(referent)。
int
m;
int
n
=
m;
n
相當(dāng)于m
的別名(綽號),對n
的任何操作就是對m
的操作。所以n
既不是m
的拷貝,也不是指向m
的指針,其實n
就是m
它自己。
C++語言
中,函數(shù)的參數(shù)和返回值的傳遞方式有三種:值傳遞、指針傳遞和引用傳遞。
以下是“值傳遞”的示例程序。由于Func1
函數(shù)體內(nèi)的x
是
外部變量
n
的一份拷貝,改變x
的值不會影響n,
所以n
的值仍然是0。
void
Func1(int
x)
{
x
=
x
+
10;
}
int
n
=
0;
Func1(n);
cout
“n
=
”
n
endl;
//
n
=
以下是“指針傳遞”的示例程序。由于Func2
函數(shù)體內(nèi)的x
是指向外部變量n
的指針,改變該指針的內(nèi)容將導(dǎo)致n的值改變,所以n
的值成為10。
void
Func2(int
*x)
{
(*
x)
=
(*
x)
+
10;
}
int
n
=
0;
Func2(n);
cout
“n
=
”
n
endl;
//
n
=
10
以下是“引用傳遞”的示例程序。由于Func3
函數(shù)體內(nèi)的x
是外部變量n
的引用,x
和n
是同一個東西,改變x
等于改變n,所以n
的值成為10。
void
Func3(int
x)
{
x
=
x
+
10;
}
int
n
=
0;
Func3(n);
cout
“n
=
”
n
endl;
//
n
=
10
對比上述三個示例程序,會發(fā)現(xiàn)“引用傳遞”的性質(zhì)象“指針傳遞”,而書寫方式象“值傳遞”。實際上“引用”可以做的任何事情“指針”也都能夠做,為什么還要“引用”這東西?
答案是“用適當(dāng)?shù)墓ぞ咦銮∪缙浞值墓ぷ鳌薄?/p>
1、C語言調(diào)用完void函數(shù)后如何將值返回主函數(shù)實現(xiàn)輸出的呢?
答:因為 void函數(shù)沒有返回值,要想把讓函數(shù)的值帶回主函數(shù),還有兩種辦法,第一是使用指針做參數(shù),第二是瀠數(shù)組做參數(shù)。
2、用指針傳遞就可以了嗎,那如果不用指針呢?
答:用指針當(dāng)然可以啦。如果不用指針,那就選擇用數(shù)組參數(shù)了。
網(wǎng)站名稱:c語言函數(shù)調(diào)用后帶回結(jié)果的方式 C語言中,通過函數(shù)調(diào)用只能獲得一個返回值
當(dāng)前網(wǎng)址:http://chinadenli.net/article42/hjidhc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、品牌網(wǎng)站建設(shè)、用戶體驗、靜態(tài)網(wǎng)站、做網(wǎng)站、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)