Coding challenge: Fibonacci (500)

How about C? ```c

include <stdlib.h>

include <stdio.h>

void add(char a, char *b, char *r){ int c = 0,d; while(a || b || c){ d = (a ? a-'0' : 0) + (b ? *b-'0' : 0) + c; *(r++) = (d % 10) + '0'; c = d/10; a = *a ? a+1 : a; b = *b ? b+1 : b; } *r='\0'; }

void display(char a){ char *begin=a,current; for(current=a;current;current++); do{ printf("%c",(--current)); }while(current != begin); }

int main(int argc,char argv[]){ char a[256],b[256],c[256]; char *fm2=&a[0],fm1=&b[0],f=&c[0],tmp;

sprintf(fm2,"0");
sprintf(fm1,"1");
printf("%s\r\n",fm2);
printf("%s\r\n",fm1);

for(int i=1;i<500;i++){
    add(fm2,fm1,f);
    display(f);
    printf("\r\n");
    tmp=fm2;
    fm2=fm1;
    fm1=f;
    f=tmp;
}

return 0;

} ```

/r/algorithms Thread