为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕沐林林 2021-12-06 23:19:10
这个程序调试时 比如输入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");}
查看完整描述

2 回答

?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

#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的值没有发生改变,还是1234
system("pause");
}


查看完整回答
反对 回复 2021-12-12
?
侃侃无极

TA贡献2051条经验 获得超10个赞

#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");
}



查看完整回答
反对 回复 2021-12-12
  • 2 回答
  • 0 关注
  • 283 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信