#include <stdio.h>
int main()
{
char num_str[2][10001] = {0};
/* 输入 */
for(int i = 0; i < 2; i++)
{
if(NULL == gets(num_str[i]))
{
return 0;
}
}
int len0 = strlen(num_str[0]);
int len1 = strlen(num_str[1]);
int index = len0 > len1 ? 0 : 1; //长度长的字符串 下标
int min_index; //长度短的字符串 下标
if(index)
{
min_index = 0;
}
else
{
min_index = 1;
}
int offset = len0 > len1 ? len0 - len1 : len1 - len0;
int carray_bit = 0;
for(int i = strlen(num_str[index]) - 1; i >= 0; i--)
{
char c;
if(i - offset >= 0) //短字符串位数 未加完
{
c = num_str[index][i] + num_str[min_index][i - offset] + carray_bit - '0';
}
else{ //短字符串位数 已加完,则仅与进位符相加
c = num_str[index][i] + carray_bit;
}
if(c >= '0' + 10) // 超过10 进位
{
carray_bit = 1;
num_str[index][i] = c - 10;
}
else
{
num_str[index][i] = c;
carray_bit = 0;
}
}
if(carray_bit)
{
printf("%d", carray_bit);
}
printf("%s", num_str[index]);
return 0;
}