#include <stdio.h> void strrev(char *s) { char *p=s,t; if(*p) while(p[1]) p++; while(s<p) { t=*s; *s++=*p; *p--=t; } } char* itoa(int num,char *result) { int i=0; while(num) { result[i++] = num%10 + '0'; num /= 10; } result[i]=0; strrev(result); return result; } void main () { char s[12]; puts( itoa(12345446,s) ); }