#include<bits/stdc++.h>
using namespace std;
string s1,s2;
int num1[5000],num2[5000],len1,len2,ans[8000];
int main()
{
cin>>s1>>s2;
len1=s1.size();len2=s2.size();
for(int i=1;i<=len1;i++){
num1[i]=s1[i]-'0';
}
for(int i=1;i<=len2;i++){
num2[i]=s2[i]-'0';
}
int X=1,x;
for(int i=len1;i>=0;i--){
x=X;
for(int j=len2;j>=0;j--){
ans[x]+=num1[i]*num2[j];
ans[x+1]+=ans[x]/10;
ans[x]%=10;
x++;
}
X++;
}
for(int x=7999;ans[x]==0&&x!=0;x--);
for(x;x>=0;x--){
cout<<ans[x];
}
return 0;
}
我感觉自己没有错,但是结果令我很奇怪
不管我哪里错了,答案数组里也不应该有负数
输入12和12,数组结果:0 0 1 -2 -2 4 0