C++程序不输出的原因

#include<bits/stdc++.h>
using namespace std;
void huiwenshu(int n);
bool huiwen(string n){
    int len = n.size()/2;
    if(n.size()-len-len==1){
        string substr1=n.substr(0,len-1),substr2=n.substr(len,len-1);
        reverse(substr2.begin(),substr2.end());
        if(substr1==substr2) return true;
    }
    else{
        string substr1=n.substr(0,len-1),substr2=n.substr(len-1,n.size()-1);
        reverse(substr2.begin(),substr2.end());
        if(substr1==substr2) return true;
    }
    return false;
}
int main(){
    int n;
    cin>>n;
    huiwenshu(n);
}
void huiwenshu(int n){
    int ans = 0;
    for(int i = 11;i<=n;i++){
        string num=to_string(n);
        if(huiwen(num)) cout<<i<<endl;
    }
}

img

为何不输出?

调试一下huiwen,看看为何返回了false

int main()肯定需要返回值,在main函数末尾加上return 0;
而且你if(huiwen(num)) cout<<i<<endl;,只有在huiwen(num)返回true时才有输出结果,返回false当然没有输出