#include const char* ts(unsigned long long n) { static char b[27]; sprintf(b, "%llu", n); char *p = b; while ( *p ) ++p; char* q = p + (p - b - 1) / 3; for ( short c = 0; p < q; ++c ) { *q-- = *p--; if ( c && c % 3 == 0 ) *q-- = ','; } return b; } int main() { printf("[%s]\n", ts(1234567890ull)); return 0; }