永发信息网

c++程序求解!高精度加法,输入:1 1,输出:-1-61(应该是2吧)

答案:2  悬赏:60  手机版
解决时间 2021-04-02 05:40
  • 提问者网友:無理詩人
  • 2021-04-01 20:26
c++程序求解!高精度加法,输入:1 1,输出:-1-61(应该是2吧)
最佳答案
  • 五星知识达人网友:污到你湿
  • 2021-04-01 21:59
你输入1 1
lena=strlen(a1); //lena=1
lenb=strlen(b1); //lenb=1

再看:
lenc=1;
x=0;

while(lenc
接下来:
c[lenc]=x; c[lenc]=c[1]=x=0;
if(c[lenc]==0) //0==0 Ok
lenc--; /初值lenc=1, 执行lenc-- ,lenc=0

再接着:
for(int i=lenc;i>=1;i--)// i=lenc=0, 0>=1 不成立 不进去for循环
接下来cout << //都是浮云

你的-1 和-61 哪来的?追问所以是我的输入不合理?但是我改成456 543,应该输出999.输出的是55-6543……求大神帮忙,初学c++追答不知道你这个怎么输出的
我把你的代码试运行了下、没得到你给的结果
建议你再变量变化前后加输出日志,这样有利于调试 查找问题
我没关注你的算法
估计你的代码逻辑有问题.追问嗯,。。我也知道肯定是逻辑的问题。。另外不好意思,我问题中诡异的负数是因为我输入的问题,应该在两个加数中间加回车对吧。。我错用了空格。改成回车之后仍有问题:输入123 回车 876,应输出999,实际输出:99、追答gets函数不会以空格作为输出结束标志 ,它以回车结束读取;
这个函数不安全
建议使用
gets_s();
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯