为什么运行到某函数时停止

在编一个代码用devc++编
运行到下面代码时停止

int main()
{   
    string n; 
    getline(cin,n);
    string n1=j1(n);
    n1=j2(n1);
    string n2=j3s(n1);
    cout<<n;
}
string j2s(string n)
{
    cout<<"j2s ks"<<endl;
    
    cout<<"j2s 倒数第4 ok"<<endl;
    
    cout<<"j2s 倒数第3 ok"<<endl;
    
    cout<<"j2s 倒数第二 ok"<<endl;
    
    cout<<"j2s 倒数第一 ok"<<endl;
    
    cout<<"j2s zh ok"<<endl;
    return n;
}

代码没问题
但是还没有执行cout<<"j2s ks"<<endl;就提示xxx.exe已停止工作

这段代码缺少函数j1和j3s的定义,无法直接编译运行,也不清楚这两个函数具体是做什么用途的。

此外,在main()函数中,第三行应该调用的是j1而不是j2。还有,最后一行输出的应该是n2而不是n。

除了这些小错误之外,就目前给出的代码来看,并没有其他明显的问题。

中间代码与结果无关,编译器自动优化

img