決定C語(yǔ)言中函數(shù)返回值類型的是定義函數(shù)時(shí)在函數(shù)首部所指定的類型。
成都創(chuàng)新互聯(lián)主營(yíng)讓胡路網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,成都App定制開(kāi)發(fā),讓胡路h5小程序開(kāi)發(fā)搭建,讓胡路網(wǎng)站營(yíng)銷推廣歡迎讓胡路等地區(qū)企業(yè)咨詢
在C語(yǔ)言中,一個(gè)標(biāo)準(zhǔn)的函數(shù)定義語(yǔ)句塊必須包含函數(shù)返回值的類型標(biāo)識(shí)符、函數(shù)名、形參類型及數(shù)量、函數(shù)體、返回值表達(dá)式。如果函數(shù)返回值類型為 void (即無(wú)返回值)。
函數(shù)定義示例(其中int是函數(shù)返回值類型):
int fun(int a, int b){
return ab ? a : b;
}
擴(kuò)展資料
C語(yǔ)言函數(shù)類型種類舉例介紹:
1、void 空類型,表示該函數(shù)無(wú)返回值;
2、int 整形,表示該函數(shù)返回int整形數(shù)值;
3、double? 雙精度,函數(shù)返回雙精度數(shù)值;
4、char 字符串,函數(shù)返回字符串;????
5、long 長(zhǎng)整型,函數(shù)返回長(zhǎng)整型數(shù)值;
C語(yǔ)言規(guī)定,函數(shù)返回值的類型由函數(shù)首部定義的類型決定。函數(shù)返回值應(yīng)與首部定義的類型一致,如若不一致,則自動(dòng)將返回值強(qiáng)制轉(zhuǎn)換為函數(shù)首部定義的類型。
沒(méi)有定義類型時(shí)默認(rèn)為int型。也就是說(shuō)你的函數(shù)是什么類型,返回值就是什么類型。
簡(jiǎn)介
在調(diào)用函數(shù)時(shí),如果需要從被調(diào)函數(shù)返回一個(gè)值供主調(diào)函數(shù)使用,那么返回值類型必須定義成非 void 型。此時(shí)被調(diào)函數(shù)中必須包含 return 語(yǔ)句,而且 return 后面必須要有返回值,否則就是語(yǔ)法錯(cuò)誤。
一個(gè)函數(shù)中可以有多個(gè) return 語(yǔ)句,但并不是所有的 return 語(yǔ)句都起作用。執(zhí)行到哪個(gè) return 語(yǔ)句,就是哪個(gè) return 語(yǔ)句起作用,該 return 語(yǔ)句后的其他語(yǔ)句都不會(huì)執(zhí)行。
C語(yǔ)言函數(shù)返回值是由定義函數(shù)時(shí)所定義的函數(shù)的類型決定的。
也就是說(shuō)你的函數(shù)是什么類型,返回值就是什么類型。
比如:
函數(shù)定義 ?int fun(int a,char b)
返回值就是整型
函數(shù)定義 ?int *fun(int a)
返回值就是基類型為整型的指針
函數(shù)定義 ?void fun(int a)
無(wú)返回值
return語(yǔ)句的表達(dá)式能轉(zhuǎn)換成函數(shù)定義類型,則返回函數(shù)定義類型,否則將warning
比如:
int?fun(int?a)
{
float?a=1.5;
return?a;//warning?C4244:?'return'?:?conversion?from?'float?'?to?'int?',?possible?loss?of?data
}
這時(shí)實(shí)際上返回的是1而不是1.5
當(dāng)然是由函數(shù)決定的啊:
比如聲明一個(gè)函數(shù)
int prot(int *, int);
那么這個(gè)函數(shù)的返回值int型返回值。
可以寫(xiě)成return XX --XX是int型,如果這里你寫(xiě)成其它型的(如A說(shuō)的),編譯會(huì)報(bào)錯(cuò)
再就是函數(shù)聲明寫(xiě)成prot(int *, int), //不給他聲明返回類型。
PC機(jī)會(huì)隱式的讓返回值為int型,如果你return 0.32, 返回去的值其實(shí)是0.