高位存储高位 低位存储低位
carry进位
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define INF 0x3f3f3f3f
string q,p;
int a[600],b[600],la,lb;
void add(int a[],int b[]){//数组可以函数赋值
int carry=0,c[600],lc=0;
for(int i=0;i<la||i<lb;i++){//i<la||i<lb
int temp=a[i]+b[i]+carry;
c[lc++]=temp%10;
carry=temp/10;
}
if(carry)c[lc++]=carry;
for(int j=lc-1;j>=0;j--)cout<<c[j];
}
int main(){
cin>>q>>p;
la=q.size(),lb=p.size();
for(int i=0;i<la;i++)a[i]=q[la-i-1]-'0';//高位对高位
for(int j=0;j<lb;j++)b[j]=p[lb-j-1]-'0';
add(a,b);
return 0;
}