猿问

请问在程序调试时,比如输入1234 最后输出的b是4321 但返回值(也是b)却一直是1234??

这个程序调试时 比如输入1234 最后输出的b是4321 但返回值(也是b)却一直是1234

不知道为什么
贴上代码
#include<iostream>#include"stdlib.h"
using namespace std;
int reverse(int x)
{
int a=x,b=0;
while(a>0)
{
b=b*10+a%10;
a=a/10;
}
x=b;
cout<<b<<endl;
return b;

}int main()
{
int m;
cin>>m;
reverse(m);
cout<<m;
system("pause");
}

慕沐林林
浏览 284回答 2
2回答

汪汪一只猫

#include<iostream>#include"stdlib.h"using namespace std;int reverse(int x){int a=x,b=0;while(a>0){b=b*10+a%10;a=a/10;}x=b;cout<<b<<endl;return b;}int main(){int m;cin>>m;cout<<reverse(m); //帮你改了一下,因为你把m的值传给了形参m,然后return回的b没有赋值给m,所以m的值没有发生改变,还是1234system("pause");}

侃侃无极

#include<iostream>#include"stdlib.h"using namespace std;int reverse(int* x){int a=*x,b=0;while(a>0){b=b*10+a%10;a=a/10;}*x=b;cout<<b<<endl;return b;}int main(){int m;cin>>m;reverse(&m);cout<<m;system("pause");}
随时随地看视频慕课网APP
我要回答