調(diào)用自定義函數(shù)時(shí),需要自定義函數(shù)返回一個(gè)值,就返回,不需要就不返回。
成都創(chuàng)新互聯(lián)公司是一家專注于成都網(wǎng)站建設(shè)、成都網(wǎng)站制作與策劃設(shè)計(jì),清原網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:清原等地區(qū)。清原做網(wǎng)站價(jià)格咨詢:028-86922220
也可以用指針,這樣就不用返回了
int add( int x, int y )
{
return x+y;
}
void add( int x, int y, int *s ) //調(diào)用函數(shù)需要s的值
{
*s = x + y;
}
返回值就是函數(shù)值。就是函數(shù)調(diào)用結(jié)束后,一般會(huì)返回一個(gè)值。這個(gè)值的類型看你是怎樣定義的。
例如:int
f(int);
這個(gè)函數(shù)是一個(gè)有返回函數(shù),返回值為整型。
char
f(int);這個(gè)函數(shù)是一個(gè)有返回函數(shù),返回值為字符型
如果是f(int);這個(gè)函數(shù)默認(rèn)返回值類型為整型
如果不需要函數(shù)有返回值,則需要用void
關(guān)鍵字,如:void
f(int);這是個(gè)無(wú)返回函數(shù),不需要return關(guān)鍵字。如果要用
則用
return
;
return
后面什么也沒有
希望能幫助到你
無(wú)返回值的函數(shù),只進(jìn)行某種操作。
有返回值的函數(shù),可以將某個(gè)變量或指針返回其調(diào)用函數(shù)。
兩者形式上的區(qū)別如下:
無(wú)返回值:void
fun1();
有返回值:int
fun2();
調(diào)用的區(qū)別:
無(wú)返回值:
main()
{
……
fun1();
……
}
有返回值:
main()
{
int
a;
……
a=fun2();
……
}
無(wú)返回值就是函數(shù)只執(zhí)行數(shù)據(jù)處理,不返回值。函數(shù)定義時(shí)一般用void關(guān)鍵字表示無(wú)返回值。
如調(diào)用string類庫(kù)中的int
i
=
strcmp("abc",
"abc")函數(shù)判斷兩個(gè)參數(shù)是不是相等,兩個(gè)都"abc"
則i
=
0,這是有返回值的
void表示函數(shù)無(wú)返回值,也就不需要寫return。如沒有返回值的函數(shù),void要寫,否則默認(rèn)返回值是int型需要return語(yǔ)句。
關(guān)于函數(shù)返回多個(gè)值,有很多方法:
一、不返回,函數(shù)返回值依然是void,但傳值的時(shí)候傳變量地址,那么在函數(shù)運(yùn)行中改變變量地址里的值,函數(shù)運(yùn)行結(jié)束,外面實(shí)參變量也改變了。比如void fun(int* a)。
二、不返回,函數(shù)通過全局變量傳遞值。
三、返回?cái)?shù)組類型(包括結(jié)構(gòu)數(shù)組),在函數(shù)中將要返回的多個(gè)值放在數(shù)組中返回,比如char *fun()。
如果函數(shù)沒有返回值,那么應(yīng)定義為void類型。
void的字面意思是“無(wú)類型”,void *則為“無(wú)類型指針”,void *可以指向任何類型的數(shù)據(jù)。
void幾乎只有“注釋”和限制程序的作用,定義一個(gè)void變量沒有意義,不妨試著定義:
void的作用在于:
1、對(duì)函數(shù)返回的限定:如果函數(shù)沒有返回值,那么應(yīng)聲明為void類型。
2、對(duì)函數(shù)參數(shù)的限定:如果函數(shù)無(wú)參數(shù),那么應(yīng)聲明其參數(shù)為void;如果函數(shù)的參數(shù)可以是任意類型指針,那么應(yīng)聲明其參數(shù)為void *。
擴(kuò)展資料:
void的使用舉例:
在C++語(yǔ)言中聲明一個(gè)這樣的函數(shù):
int function(void)
{
return?1;
}
則進(jìn)行下面的調(diào)用是不合法的:
function(2);
因?yàn)樵贑++中,函數(shù)參數(shù)為void的意思是這個(gè)函數(shù)不接受任何參數(shù)。
在Turbo C 2.0中編譯:
#include "stdio.h"
fun()
{
return 1;
}
main()
{
printf("%d",fun(2));
getchar();
}
編譯正確且輸出1,這說明,在C語(yǔ)言中,可以給無(wú)參數(shù)的函數(shù)傳送任意類型的參數(shù),但是在C++編譯器中編譯同樣的代碼則會(huì)出錯(cuò)。在C++中,不能向無(wú)參數(shù)的函數(shù)傳送任何參數(shù)。
所以,無(wú)論在C還是C++中,若函數(shù)不接受任何參數(shù),一定要指明參數(shù)為void。
參考資料來(lái)源:百度百科-void