PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
C_and_CPP
[问题] 递回程式一问
楼主:
asd860079
(U戏boy)
2019-04-02 15:31:57
先上完整程式码: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?
以上,先感谢各位大大
楼主:
asd860079
(U戏boy)
2019-04-02 15:33:00
对了 要在VS 2015以上跑的话再记得改成scanf_s
作者:
firejox
(Tangent)
2019-04-02 16:16:00
是put(n=7)跑完 put(n=6)还没
作者: longlongint (华哥尔)
2019-04-02 19:24:00
debugger 可以印 call stack/backtrace 出来看看
作者:
TitanEric
(泰坦)
2019-04-02 21:29:00
for loop跑完回上一层 backtracking
继续阅读
Re: [问题] 询问C/C++程式方面的问题
poyenc
Re: [问题] Call function return padding string
poyenc
[问题] 如何将一个面切成三角形
hfuman
Re: [问题] 副程式更改value
adrianshum
[问题] 副程式更改value
wmfgdate
[问题] 变量无缘无故被赋予新的值
qazStarStar
[问题] QT及OpenCV编译问题
chuinzong
[问题] Call function return padding string
blackcity
[问题] C++使用 openMP 问题
huan0357
[问题] QMetaObject 问题
MOONY135
Links
booklink
Contact Us: admin [ a t ] ucptt.com