如何在调试时跳过递归调用?

时间:2017-08-28 03:34:09

标签: xcode debugging recursion clion

我尝试了两个IDE,即Clion和Xcode,我得到了相同的结果。 即使我使用stepOver,调试器也会再次进入isMatch函数。我已成功使用了' stepOver'在其他功能的情况下,但我不确定它是否适用于递归调用的预期方式。有人可以帮我弄这个吗?

bool isMatch(string s, string p) {

//Base case
if(s.length() == 0 && p.length() == 0)
    return true;

else if(p[1] == '*') {
    int i = 0;
    for (; (s[i] == p[0] || p[0] == '.') && i<s.length() ; i++) {

        string temp1 = s.substr(i);
        string temp2 = !p.length()? "" : p.substr(2);
        if (isMatch(temp1, temp2))
            return true;
    }
    if( isMatch(s.substr(i), !p.length()? "" : p.substr(2) ))
        return true;
    return false;
}
else
    return (s[0] == p[0] || p[0] == '.') && isMatch(s.substr(1), p.substr(1));

}

0 个答案:

没有答案