相關(guān)閱讀
C語言https://blog.csdn.net/weixin_45791458/category_12423166.html?spm=1001.2014.3001.5482
? ? ? ? ?函數(shù)定義時需要明確給出返回值的類型,比如int main();表示主函數(shù)返回一個整數(shù)值,void func();表示func函數(shù)不返回值(但會函數(shù)也會返回,這是需要區(qū)分的)。
? ? ? ? void main();這種寫法已經(jīng)被普遍認為是不專業(yè)的,在C99標準中,規(guī)定main函數(shù)的返回值必須顯式說明為int。而在C90標準中,如果不顯式說明函數(shù)返回值,int類型為默認返回值類型,這是因為當時的函數(shù)大多數(shù)返回int類型。
void main(); //這是不專業(yè)的寫法,即使在C90里面沒有強制規(guī)定返回值類型
int main(); //這是C99強制的寫法
main(); //C90中,這樣寫默認返回int類型
? ? ? ? 對于返回值不為void的函數(shù)來說,需要有return語句幫助其顯式地返回值。對于main函數(shù)來說,C99規(guī)定如果遺漏return語句,在執(zhí)行到main函數(shù)的右括號}時,會自動返回0值,而對于其他函數(shù)則沒有此要求。
? ? ? ? C99規(guī)定不允許在返回值類型不是void的函數(shù)中使用沒有表達式的return語句(如果遺漏return,也能返回)。反之亦然,不允許在返回值類型是void的函數(shù)中使用帶有表達式的return語句。文章來源:http://www.zghlxwxcb.cn/news/detail-826916.html
int test(){
printf("This is test."); //沒有return語句,也能返回
}
int main(){
test(); //沒有return但會返回0
}
int test(){
printf("This is test.");
return; //會報錯,因為一個非void返回值類型的函數(shù)使用了沒有表達式的返回值
}
int main(){
test(); //沒有return但會返回0
}
void test(){
printf("This is test.");
return 0; //會報錯,因為一個void返回值類型的函數(shù)使用了有表達式的返回值
}
int main(){
test(); //沒有return但會返回0
}
? ? ? ??文章來源地址http://www.zghlxwxcb.cn/news/detail-826916.html
到了這里,關(guān)于C語言:當函數(shù)定義時遺漏函數(shù)返回值類型以及函數(shù)遺漏return語句的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!