→ Nessa1103:在電腦裡,-1是最大的數,這牽涉到補數的概念 03/22 22:35
→ nahawa:可是假如最後不return迴去main 直接print出來的值就正常 03/22 22:37
→ tsaiminghan:你的遞迴有問題。 03/22 23:13
→ nahawa:可以點一下那裡出錯了嗎? 03/22 23:17
推 tsaiminghan:我覺得前面兩個gcd也要加上return 03/22 23:18
推 StarTouching:理論上不會編譯過 原因在樓上 03/22 23:22
→ StarTouching:說一下你的compiler OS和測資 03/22 23:23
→ nahawa:我用dev-c++ 4.9.9.2 編譯可以過 03/22 23:23
推 zptdaniel:可以過,在函數裡面的兩個gcd前面加上return 答案就對了 03/22 23:30
→ nahawa:如tsaiminghan所說 加上return後正常了,請問一下加上 03/22 23:30
→ zptdaniel:不過究竟為什麼會出現-1...真奇妙 03/22 23:30
→ nahawa:請問有加return跟沒加差在哪裡? 03/22 23:31
推 tsaiminghan:你想想看遞迴是怎麼運作的?你不加return 的話 03/22 23:33
→ tsaiminghan:除了最後一層,其他層都沒有回傳值 03/22 23:34
→ tsaiminghan:不過我也很好奇為什麼會回傳-1,難道是預設值? 03/22 23:34
→ tsaiminghan:編譯器自已加的? 03/22 23:35
推 StarTouching:我認為要看GNU compiler怎麼運作的 03/22 23:41
→ StarTouching:因為理想上應該連compile都不能過才對 03/22 23:42
推 Ebergies:一向都只會有 warning, 如果走到沒 return 的就是 未定義 03/22 23:47