精華區beta C_Chat 關於我們 聯絡資訊
※ 引述《STAV72 (刁民黨黨務主委)》之銘言: : https://i.imgur.com/NLPJc6B.jpg : 科學家:讚啦!有用了! : 教授:很好,讓我們看看是如何作用跟怎麼作用! : 碼農:讚啦!跑起來了! : 主管:別再碰它,沒人知道會不會無預警當掉。 : 寫程式真的這麼邪門嗎? : https://i.imgur.com/5paUaeA.jpeg 邪門、真他媽邪門 soruce: https://www.reddit.com/r/ProgrammerHumor/comments/10wur63/isnt_c_fun/ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.140.44.174 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_Chat/M.1676022729.A.C50.html
ping1777: 看完reddit解釋我還是不懂== 02/10 17:57
CATALYST0001: https://i.imgur.com/Hedg7HW.jpg 邪門 02/10 17:58
smart0eddie: 空轉的程式碼被優化掉了 02/10 17:59
max83111: 覺得上面那張圖很符合邏輯是不是就沒救了 02/10 17:59
TNPSCG: https://i.imgur.com/BDIAv36.jpg 02/10 18:01
twosheep0603: https://i.imgur.com/l2hksgD.png 02/10 18:03
zizc06719: 我猜他編譯沒下-o,就還是不會印出來吧? 02/10 18:05
orze04: 這是編輯器的鍋吧 02/10 18:07
orze04: compiler太聰明,換一個試試看 02/10 18:07
zizc06719: 應該說優化的那指令,太久沒自己下指令編譯,都忘記代 02/10 18:07
zizc06719: 表啥了 02/10 18:07
smes95303: ined-behavior 02/10 18:10
hjwing280: 看得懂2樓的圖,快笑死 02/10 18:10
orze04: 2樓的圖沒問題啊 02/10 18:18
johnny3: 寫程式每個函式影響的範圍不同 有時候就因為這樣就可能 02/10 18:18
johnny3: 運作跟不運作 02/10 18:18
sunshinecan: 看討論有編譯器差異 不一定能重現 02/10 18:19
SangoGO: 瀏覽器太聰明真的是問題,會出現IE死Chrome能跑的情況 02/10 18:20
johnny3: 所以才會說程式能運作就好 不然順序重排讓版面好看以後 02/10 18:20
johnny3: 可能函式影響範圍變了跑出bug 02/10 18:20
笑死 之前用vscode格式化 被亂調換標頭檔順序 然後程式跑一跑就掛掉
NciscalA: 碰到 UB 什麼都可能發生 02/10 18:20
※ 編輯: wei115 (223.140.44.174 臺灣), 02/10/2023 18:22:00
SangoGO: 有時那種直接改變輸入參數的function也是很惡毒 02/10 18:22
storyo11413: 看了很久2樓邏輯沒錯啊! 02/10 18:23
SangoGO: 他的執行沒有return,但執行完送進去的變數變成了另一個 02/10 18:23
SangoGO: 玩意 02/10 18:23
kirimaru73: 應return而未return的function不會漬鯊 而會使出硬撐 02/10 18:25
as80110680: 很明顯是編譯器的bug,看了一下原因,編譯器把空的迴 02/10 18:27
as80110680: 圈刪除,結果main函數也變成空的,所以main函數也被 02/10 18:27
as80110680: 刪除,結果程式進入點變成unreachable 02/10 18:27
poke001: 2F蠻合理的阿XD 02/10 18:29
kirimaru73: 這程式犯了三個明顯的錯誤: 02/10 18:32
kirimaru73: 1. 寫出了無法脫離的無限迴圈 02/10 18:32
kirimaru73: 2. 應該要return int的函式沒有return 02/10 18:32
kirimaru73: 3. 寫了一個沒人呼叫的無意義函式 02/10 18:32
kirimaru73: 編譯器把這三個錯誤超量召喚 就可以得到一個你好世界 02/10 18:32
web920012003: 她說買6個但沒有說是牛奶還是酪梨,所以可以解釋成 02/10 18:40
web920012003: 那邊有賣酪梨的話,牛奶從買1個變成6個,以及是買6 02/10 18:40
web920012003: 個酪梨,這兩種理解方法@max83111 02/10 18:40
DendiQ: 不邪門,這編譯器就是你爸媽,他看你東西好像沒在用就丟了 02/10 18:42
jackshadow: 有賣酪梨應該是7牛奶吧? 02/10 18:42
DendiQ: 現實故事 02/10 18:43
zzz71084482: https://i.imgur.com/EQHzYlS.jpg 02/10 18:43
SangoGO: 酪梨那個基本上就是 牛奶=1 if(酪梨) {牛奶=6} 02/10 18:45
DDG114514: 謝謝推文解說clang的最佳化行為 02/10 18:45
hurricanrana: 推文圖明明很合理但是還是有夠好笑 XD 02/10 18:48
kirimaru73: 你也可以解釋成家裡的牛奶+=6 這樣是買七瓶 02/10 18:51
SangoGO: 其實要解釋也能變成只買6個酪梨 02/10 19:02
SangoGO: 因為 02/10 19:02
SangoGO: str=牛奶1 if(酪梨) {str=酪梨6} 02/10 19:02
Cishang: 其實這個問題用火影忍者來理解就好 鳴人是4代子的種種BUG 02/10 19:13
Cishang: 只要代入三代黑到爆就能解決一大堆BUG,說穿了跟寫小說一 02/10 19:13
Cishang: 樣寫到後面忘記前面寫什麼造成前後矛盾,換人寫當然更慘 02/10 19:14
naya7415963: 二樓圖XDDDD 02/10 19:23
zycamx: 我看2F圖是因為真的有賣酪梨,所以他才買6個牛奶,蠻合理 02/10 19:24
zycamx: 的XD 02/10 19:24
emulators: 酪梨的問題只是對象沒講清楚吧 02/10 19:26
QoGIVoQ: 好好設變數阿操 02/10 19:28
a2334436: 二樓XD 02/10 19:43
ilohoo: 因為中文裡牛奶的單位和酪梨不同,要點小巧思才能保留笑點 02/10 19:44
laechan: buymilk(){if(那有賣酪梨) return 買6個;} 02/10 20:00
kendavid001: 二樓XD 02/10 20:15
hh123yaya: 格式化那種東西 一開始沒用 之後就別用了 02/10 20:19
The4sakenOne: 看到js那張圖 感覺會中風 02/10 20:49
greeddeer: 有人可以解釋6樓的原理嗎? 02/10 21:01
moritsune: javascript真的很神奇,不要理解,去感受就好 02/10 21:08
iamnotgm: 真他媽邪門 02/10 21:23
jay1233560: Unreachable www 02/10 21:48