>>287
適当に書いてみた。
#include<stdio.h>
#include<string.h>
void std_reverse(char*begin,char*end){
    char c;while(begin != end && begin != --end)c=*begin,*begin++=*end,*end=c;
}
char*my_strrev(char*p){std_reverse(p,p+strlen(p));return p;}
int main(void){
    char a[41]={0},b[41],c,*p=a,*q=b;
    scanf("%s%s",a,b);
    my_strrev(a);my_strrev(b);
    for(c=0;*p||*q||c;c=*p > '9',*p++ -= c * 10)
        *p = (*p?*p:'0') + (*q?*q++-'0':0) + c;
    puts(my_strrev(a));
    return 0;
}