先上完整程式码:https://pastebin.com/Y4x6Mut9
这是我在网上找到的一个 八皇后问题 的解法
主要是想问 line 31 的递回程式
https://imgur.com/D0N0kEb.jpg
照理说 走到这个if之后,棋盘就放满了
就算把剩下的循环跑完
程式应该也没机会进到 else 里面继续放棋子了
但是我用 Visual Studio 跑 Debug 发现他把for循环跑完后
他会从line 55 跳到 line 52,然后 n 的值会从7跳到6
(假设input是8)
照理说不应该是 for 循环跑完 put()函式也就跑完
然后回到main继续跑了吗?
想请问是什么样的逻辑让他可以这样跑然后找完全部的解才跑回main?
以上,先感谢各位大大