成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

普通的Int main(){}沒(méi)有寫Return 0;會(huì)怎么樣?

開(kāi)發(fā) 前端
正常一個(gè)帶有返回值的函數(shù),返回值都會(huì)存在某個(gè)地方,可能是棧上也可能是寄存器里,如果你不給它返回值,那可能外部獲取的返回值就是個(gè)奇奇怪怪的值,因?yàn)樵垡膊恢滥菈K地址是什么數(shù)據(jù)。

[[409477]]

本文轉(zhuǎn)載自微信公眾號(hào)「程序喵大人」,作者程序喵大人。轉(zhuǎn)載本文請(qǐng)聯(lián)系程序喵大人公眾號(hào)。

經(jīng)常在知乎上可以看到這個(gè)問(wèn)題,于是嘗試著回答了一下,沒(méi)想到國(guó)內(nèi)C++巨佬吳詠煒老師還給我點(diǎn)了個(gè)贊,讓我相當(dāng)激動(dòng),下面具體介紹下!

結(jié)論可能大家看上面的圖就知道了,沒(méi)有加return 0;編譯器會(huì)自動(dòng)添加一個(gè)。那怎么證明呢?

可以查看相應(yīng)的匯編代碼,查看匯編代碼推薦使用godbolt.org網(wǎng)站,相當(dāng)方便。

如上圖,輸入C++代碼,在右半部分會(huì)顯示編譯器編譯后的匯編代碼,通過(guò)查看高級(jí)語(yǔ)言背后的匯編指令我們可以更好的分析代碼的性能。網(wǎng)站更強(qiáng)大的功能是它支持市面上幾乎所有的編譯器,而且各個(gè)版本都有。

下面使用這個(gè)網(wǎng)站分析一波!

先看一段帶有return 0的截圖:

看我右面紅框圈出來(lái)的代碼,大家可以理解為eax就是main()函數(shù)的返回值,這里可以看到main()函數(shù)的返回值是0。

再看一段不帶return 0的相應(yīng)截圖:

可以發(fā)現(xiàn)編譯器還是把eax的值設(shè)為了0,由此可以理解為,即使在main函數(shù)中不寫return 0,編譯器還是會(huì)默認(rèn)添加個(gè)return 0。

那其他非main函數(shù)也會(huì)默認(rèn)添加個(gè)return 0嗎?

先看一個(gè)普通的帶有int返回值的函數(shù):

注意看func()中的eax寄存器被賦值為9,即func()的返回值為9。

如果不加return a是什么樣子?

可以看到,如果在func()內(nèi)不寫return語(yǔ)句,編譯器則沒(méi)有給eax寄存器更新值,那函數(shù)的返回值就不會(huì)是我們期待的樣子。

得出結(jié)論:正常一個(gè)帶有返回值的函數(shù),返回值都會(huì)存在某個(gè)地方,可能是棧上也可能是寄存器里,如果你不給它返回值,那可能外部獲取的返回值就是個(gè)奇奇怪怪的值,因?yàn)樵垡膊恢滥菈K地址是什么數(shù)據(jù)。

但是吧,main函數(shù)除外,因?yàn)閙ain函數(shù)沒(méi)有return的話,編譯器會(huì)默認(rèn)加個(gè)return 0;但個(gè)人認(rèn)為這也確實(shí)是不好的習(xí)慣,mian函數(shù)會(huì)犯這種錯(cuò)誤,其它函數(shù)估計(jì)也會(huì)這樣,所以最好所有的帶有返回值的函數(shù)都添加return xxx。

 

打完收工。

 

責(zé)任編輯:武曉燕 來(lái)源: 程序喵大人
相關(guān)推薦

2021-09-01 10:50:21

int main()return 0語(yǔ)言

2023-06-30 08:23:36

Spring!SolonJavalin

2020-05-06 08:44:20

等保2.0WAFIDC

2023-10-23 19:58:01

Android

2024-08-22 08:50:51

2025-02-11 09:01:57

2018-07-31 15:38:07

SDN物聯(lián)網(wǎng)IIoT

2014-02-18 11:24:07

云計(jì)算PaaS

2024-10-14 09:58:06

并發(fā)編程共享

2020-04-28 08:10:42

編程Resflux應(yīng)用

2018-08-07 09:38:06

2023-06-07 17:46:32

AI高考

2023-02-06 08:23:22

ChatGPT系統(tǒng)Linux

2024-05-07 08:46:06

GoGoogle云原生

2020-05-11 17:08:28

蘋果WindowsMacBook

2019-07-19 15:42:57

Hadoop大數(shù)據(jù)YuniKorn

2015-07-23 11:49:31

程序猿

2020-11-27 07:45:31

JVM垃圾回收

2023-05-15 10:17:03

2009-12-24 14:05:06

Fedora core
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 夜夜爽99久久国产综合精品女不卡 | 91精品在线播放 | 亚洲一区网站 | 久草久草久草 | 日韩免费视频一区二区 | 国产偷录视频叫床高潮对白 | 成人亚洲一区 | 亚洲日本欧美日韩高观看 | 免费国产精品久久久久久 | 精品国产一区一区二区三亚瑟 | 久久久久国产视频 | 夜夜爽99久久国产综合精品女不卡 | 久久久精品天堂 | 99亚洲综合 | 99在线播放| 亚洲国产一区视频 | 日韩中文不卡 | 亚洲国产成人精品女人 | 亚洲精品国产成人 | 亚洲第一av | 国产精品视频一二三 | 亚洲精品一 | 亚洲在线观看视频 | 天天插日日操 | 亚洲日本视频 | 精品久久久久久亚洲国产800 | 精品国产精品三级精品av网址 | 午夜激情在线视频 | 久久综合伊人 | 日本精品一区二区在线观看 | 成人深夜福利网站 | 精品久久免费 | 米奇7777狠狠狠狠视频 | 免费精品视频在线观看 | 亚洲高清视频在线观看 | 精品亚洲一区二区三区四区五区 | 国产乱码精品1区2区3区 | 日韩精品成人av | 日韩精品免费在线观看 | 粉嫩在线| 国产精品欧美一区二区三区 |