1、不是必須有返回值。如果沒有返回值類型名為void。
創(chuàng)新互聯(lián)是一家專業(yè)提供青云譜企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站設(shè)計(jì)制作、網(wǎng)站制作、html5、小程序制作等業(yè)務(wù)。10年已為青云譜眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計(jì)公司優(yōu)惠進(jìn)行中。
2、在C語言中,主函數(shù)必須要有返回值。main 函數(shù)的返回值類型必須是 int ,這樣返回值才能傳遞給程序的激活者(如操作系統(tǒng))。
3、不是這樣的 根據(jù)需要來決定函數(shù)是否要返回值,如果你要傳遞一個(gè)函數(shù)的參數(shù)回到調(diào)用的地方,一般都會(huì)用到返回值,這里只是一般,還有可能通過全局變量什么的來傳遞一個(gè)值,不一定要用返回值。
4、簡單的C語言函數(shù)設(shè)計(jì)中,一般都設(shè)計(jì)成無返回值 void 類型函數(shù)。實(shí)在設(shè)計(jì)需要的情況下,才會(huì)定義相應(yīng)的返回值相應(yīng)類型。當(dāng)然,返回值也是函數(shù)重要的特性。有返回值使程序設(shè)計(jì)得靈活。能更好的交互 ,和其他函數(shù)相互作用。
5、return 語句,就是 滿足此條件時(shí) 返回一個(gè) void。你的quicksort 函數(shù)是 void 型函數(shù),所以是可以的。意思是,第一個(gè)參數(shù)大于第二個(gè)參數(shù)就結(jié)束,否則 要進(jìn)行后續(xù)計(jì)算。C 語言函數(shù),只要不是 void 型函數(shù),則都要返回值。
6、沒有這個(gè)說法。主函數(shù)需要函數(shù)返回值,函數(shù)才需有返回值。函數(shù)不需要返回值時(shí),用void 函數(shù)需要返回值時(shí),函數(shù)類型按返回值的類型確定。
1、在C語言的函數(shù)定義中,如果省略了return語句,函數(shù)就無法返回主調(diào)...可以。在c語言的函數(shù)定義中,如果不需要返回結(jié)果,就可以省略return語句,不影響整個(gè)函數(shù)運(yùn)行。
2、有返回值的函數(shù) int function1(){ return 1; --必須要return 才能有返回值。};沒有返回值的函數(shù) void function2(){ return; --寫了return會(huì)直接跳出函數(shù),不會(huì)繼續(xù)執(zhí)行下面的語句。
3、return -1表示函數(shù)返回值是-1。return 表示把程序流程從被調(diào)函數(shù)轉(zhuǎn)向主調(diào)函數(shù)并把表達(dá)式的值帶回主調(diào)函數(shù),實(shí)現(xiàn)函數(shù)值的返回,返回時(shí)可附帶一個(gè)返回值,由return后面的參數(shù)指定。
4、return 1;//return(i); //這樣也可以 } 有時(shí)即使被調(diào)用函數(shù)是void類型 被調(diào)函數(shù)中的return也不是毫無意義的;對(duì)于void,在函數(shù)的最后一行代碼,可以不用;其他地方,因?yàn)槟阋祷睾瘮?shù)調(diào)用,所以必須要用。
首先函數(shù):char strcat (char x[],char y[])返回值是char型 你在函數(shù)中卻返回char型指針。其次for語句:for (i = m;i = m + n;i ++)m+n要大于x,y字符串的長度,可能會(huì)越界。
另外返回值并不一定的我們想要的結(jié)果,比如1+1如果返回3了,那就是函數(shù)代碼有錯(cuò)誤。
在函數(shù)中是無法檢查數(shù)組(字符串)空間大小的,所以就會(huì)一直復(fù)制,如果越界了也不會(huì)有明顯錯(cuò)誤,但如果遇到標(biāo)記為不可寫的內(nèi)存便會(huì)運(yùn)行時(shí)報(bào)錯(cuò)。輸出時(shí)也無法檢查數(shù)組大小,完全根據(jù)結(jié)束標(biāo)志輸出。
這個(gè)函數(shù),是將棧內(nèi)局部變量的地址返回給調(diào)用者,調(diào)用者拿到的指針屬于典型的超出生命周期的指針,對(duì)它的使用會(huì)不會(huì)引起錯(cuò)誤,依賴于進(jìn)一步的操作,本身行為就是不可預(yù)期的。
但是你不能訪問指針指向的內(nèi)存空間,因?yàn)樗S著函數(shù)結(jié)束被釋放了。這是C語言的參數(shù)及返回值傳遞機(jī)制,也就是值傳遞。其實(shí)C++使用string也就是把字符串封裝了,所以好用,但函數(shù)傳遞的本質(zhì)還是一樣。
因?yàn)樵诤瘮?shù)調(diào)用期間的局部變量,當(dāng)這個(gè)函數(shù)返回時(shí),局部變量將會(huì)消失(被系統(tǒng)回收)而不復(fù)存在,所以若返回一個(gè)局部變量的指針,則返回后就變成一個(gè)“野指針”。
對(duì)象的成員就有了,直到對(duì)象被析構(gòu)掉,該對(duì)象的成員生命周期結(jié)束。局部變量的生命周期不會(huì)比它所在的函數(shù)長,返回時(shí)這個(gè)函數(shù)使用的內(nèi)存都被收回了,更不存在保存局部變量的那塊內(nèi)存了,它的引用更沒有意義了。
首先你要理解運(yùn)行時(shí)執(zhí)行棧的概念,運(yùn)行在一個(gè)函數(shù)中的時(shí)候,局部變量是依次壓在棧區(qū)的,函數(shù)返回后釋放,相同的地址可能被下一個(gè)運(yùn)行的函數(shù)中的局部變量重用。
在C語言中絕不能返回函數(shù)內(nèi)局部變量的地址.在c語言中,一種典型的錯(cuò)誤就是將一個(gè)指向局部變量的指針作為函數(shù)的返回值。
首先要理解,指針變量其實(shí)是一個(gè)長整形數(shù)據(jù),它的值是其指向的一塊內(nèi)存的首地址。因此函數(shù)返回結(jié)構(gòu)體局部變量的指針后,無論局部變量有沒有被釋放,都不會(huì)影響返回出去的指針的值。
1、如函數(shù)值為整型,在函數(shù)定義時(shí)可以省去類型說明。4)不返回函數(shù)值的函數(shù),可以明確定義為“空類型”,類型說明符為“void”。
2、return命令的含義 return命令的意思是返回調(diào)用者。如果return后面有值(如你函數(shù)中的10),則將該值返回給調(diào)用者。
3、沒有返回值的函數(shù):功能只是完成一個(gè)操作,應(yīng)將返回值類型定義為void,函數(shù)體內(nèi)可沒有return語句。有返回值的函數(shù):函數(shù)的最后會(huì)有一個(gè)返回值return,可以用來獲取該函數(shù)執(zhí)行結(jié)果返回給該函數(shù),讓外部調(diào)用該函數(shù)的。
網(wǎng)站名稱:c語言函數(shù)不能返回什么 c語言函數(shù)只能返回一個(gè)值嗎
分享路徑:http://chinadenli.net/article44/dehieee.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)公司、靜態(tài)網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)