一个c++函数的问题


#include<iostream>
#include<sstream>
using namespace std;
int inversion(int n){
    int a,b,c,d,e;
    string str1,str2,str3,str4,str5,str6;
    a=n/10000;
    b=(n%10000)/1000;
    c=((n%10000)%1000)/100;
    d=(((n%10000)%1000)%100)/10;
    e=(((n%10000)%1000)%100)%10;
    str1=a;
    str2=b;
    str3=c;
    str4=d;
    str5=e;
    str6=str5+str4+str3+str2+str1;
    int num=0;
    istringstream ss(str6);
    ss>>num;
    return str6;
}
int main(){
    int n=21978;
    int a=inversion(n);
    cout<<a; 
} 
} 

函数调用,答案不对!

str1=n;
这是什么写法, 整型赋值给字符串?你的目的是啥呢?

完全不知道你要实现什么功能


#include <iostream>
using namespace std;
int inversion(int nn)
{
    int n = nn;
    int right_digit=0;
    do
    {
        right_digit = 10 * right_digit + n % 10;
        n /= 10;
    }
    while (n != 0);
    
    return right_digit;
}
int main(void)
{
    int n=21978;
    int a=inversion(n);
    cout<<a;
}

供参考:

#include <iostream>
using namespace std;
int inversion(int nn)
{
    int digit=0;
    while (nn)
    {
        digit = 10 * digit + nn % 10;
        nn /= 10;
    }
    return digit;
}
int main(void)
{
    int n=123456789;
    int a=inversion(n);
    cout<<a<<endl;
    
    return 0;
}