程序意外退出原因不明(C++)

Gal*_*leo 1 c++

出于某种原因,每当我运行这个程序时,它就会退出permute(permutater, length, lenth);.每当我注释掉该行并且函数甚至没有运行时,就不会发生这种情况.有帮助吗?

Mic*_*urr 10

我注意到的第一件事 - 你没有初始化索引变量hor.

int permute(string permutater,int length,int lenth)
{
    int hor,hor2,marker;
    cout << length/lenth;
    for (marker=0;marker !=(length/lenth);marker++)
        {
            hor2 = permutater[hor];     // <== hor is not initialized
            permutater[hor] = permutater[hor-1];
            permutater[hor] = hor2;
            hor--;
            cout << permutater;
        }

}
Run Code Online (Sandbox Code Playgroud)