推 ping1777: 看完reddit解釋我還是不懂== 02/10 17:57
推 smart0eddie: 空轉的程式碼被優化掉了 02/10 17:59
→ max83111: 覺得上面那張圖很符合邏輯是不是就沒救了 02/10 17:59
推 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
推 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