第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

輸出結(jié)果為12,能說(shuō)說(shuō)為什么嗎?我把兩個(gè)return都刪了,為什么還可以輸出?return什么用?

輸出結(jié)果為12,能說(shuō)說(shuō)為什么嗎?我把兩個(gè)return都刪了,為什么還可以輸出?return什么用?

C
慕粉18341035298 2016-07-03 23:23:27
#include <stdafx.h>int zhouchang(int a,int b,int c){?if ((a + b )<= c || (a + c )<= b || (b + c )<= a)?{??printf("不能構(gòu)成三角形");??return 0;?}?else?{??int sum = a + b + c;?}}int main(){?int a, b, c;?a = 3;?b = 4;?c = 5;?printf("三角形周長(zhǎng)為%d", zhouchang(a,b,c));}
查看完整描述

5 回答

已采納
?
onemoo

TA貢獻(xiàn)883條經(jīng)驗(yàn) 獲得超454個(gè)贊

一句話總結(jié):歪打正著而已。


你這樣寫(xiě)肯定是不對(duì)的! ?

如果函數(shù)聲明了有返回值,那就一定要在每一個(gè)返回分支處都return相應(yīng)的返回值,否則返回的值是未定義的。

這就是C標(biāo)準(zhǔn)中所謂的“未定義”行為。 返回什么都有可能。

而且這樣的代碼在編譯時(shí),編譯器會(huì)發(fā)現(xiàn)在有的返回分支處你沒(méi)有return返回值,會(huì)給出警告的。


至于為什么好像返回值也是正確的。 ?這一般與編譯器的實(shí)現(xiàn)有關(guān)。 比如:gcc一般會(huì)用eax寄存器來(lái)返回這樣的值,而這種簡(jiǎn)單的代碼,gcc有可能將sum就儲(chǔ)存在eax中,所以結(jié)果就恰好正確了。 (這也只是一種推測(cè),具體行為是不是這樣,只能看編譯后的匯編代碼了)

關(guān)鍵是:絕對(duì)不要以為這樣寫(xiě)代碼也是可以的!?這樣的代碼就是錯(cuò)誤的??! ?只不過(guò)碰巧返回了看似正確的值。

查看完整回答
1 反對(duì) 回復(fù) 2016-07-04
?
redstonesl

TA貢獻(xiàn)55條經(jīng)驗(yàn) 獲得超12個(gè)贊

這得看c的函數(shù) 是不是默認(rèn)返回,例如js會(huì)默認(rèn)返回undefined一樣。要么編譯通不過(guò),要么就是默認(rèn)。你可以這個(gè)思路入手。

查看完整回答
1 反對(duì) 回復(fù) 2016-07-04
?
木柘

TA貢獻(xiàn)143條經(jīng)驗(yàn) 獲得超94個(gè)贊

577a2b160001bb9905000241.jpg

577a2b170001c8db05000311.jpg

我覺(jué)得應(yīng)該與編譯器有關(guān)。函數(shù)返回定義為int那么調(diào)用處應(yīng)該會(huì)接受到一個(gè)int數(shù)據(jù),只是不知道具體是什么了。


查看完整回答
1 反對(duì) 回復(fù) 2016-07-04
  • 慕粉18341035298
    慕粉18341035298
    電腦無(wú)法同時(shí)放大兩個(gè)圖片,我很難對(duì)比出兩個(gè)代碼的不同,這兩個(gè)代碼有什么不同?
  • 木柘
    木柘
    你定義函數(shù)返回int那么它一定會(huì)返回一個(gè)int,只不過(guò)這個(gè)值不一定是多少。就是說(shuō)你運(yùn)氣好,碰到的12罷了。圖上是在C-free中編譯的有return和無(wú)return的,明顯無(wú)return的值不是12.
  • 慕粉18341035298
    慕粉18341035298
    你的意思是每次運(yùn)行無(wú)return的程序結(jié)果都不一樣?
點(diǎn)擊展開(kāi)后面2
?
留得枯荷聽(tīng)雨聲lyx

TA貢獻(xiàn)51條經(jīng)驗(yàn) 獲得超16個(gè)贊

因?yàn)樵谀愕暮瘮?shù)里就有輸出語(yǔ)句啊,不過(guò)return沒(méi)用吧……

查看完整回答
1 反對(duì) 回復(fù) 2016-07-04
?
木柘

TA貢獻(xiàn)143條經(jīng)驗(yàn) 獲得超94個(gè)贊

想問(wèn)下你是怎么編譯通過(guò)的?

查看完整回答
反對(duì) 回復(fù) 2016-07-04
  • 5 回答
  • 1 關(guān)注
  • 1996 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)