小编Gir*_*lle的帖子

当我尝试添加 2 个大字符串时,我无法弄清楚出了什么问题

我通过在 c++ 中使用大整数库尝试了这个问题,它工作得很好,当我尝试从两个字符串中一次使用一个整数来执行此操作时

我收到一个运行时错误,我确实尝试通过在代码中包含 cout 语句来调试它,但一切似乎都很好。

 string addStrings(string num1, string num2) {
        string res="";
        int n=num1.size();
        int m=num2.size();
        int carry=0;
        int j;
        for(int i=n-1,j=m-1;i>=0 || j>=0;i--,
            j--){
            int a;
            if(i>=0){
                a=((int)(num1[i])-48);
            }
            else {
                a=0;
            }
            int b; 
            if(j>=0){
                b=((int)(num2[j])-48);
            }
            else{
                b=0;
            }
            cout<<num1[i]<<" "<<num2[i]<<endl;
            cout<<a<<" "<<b<<endl;
            int sum=carry+a+b;
            int u=sum%10;
            res+=u;
            carry=sum/10;
        }
        res+=carry;
        cout<<res<<endl;
        reverse(res.begin(),res.end());
      
    return res;
    }
Run Code Online (Sandbox Code Playgroud)

c++ string addition

0
推荐指数
1
解决办法
72
查看次数

标签 统计

addition ×1

c++ ×1

string ×1