ちなみに私のはこんなん

#include <stdio.h>
#include <string.h>

int main(void)
{
  int i,j,k,n = -1111222333;
  char str[16];

  for(i=0,j=0,k=(n<0)?-n:n;k;i++,k/=10)
    j+=sprintf(str+j,(i%3==2)?"%1d,":"%1d",k%10);
  if(n<0) sprintf(str+j,"-");
  strrev(str);

  puts(str);

  return 0;
}

しょぼ。strrevは大抵のコンパイラにくっついてるけど非標準だから
無かったら作って。
32bitのintならstrは16あれば足りるはず。
おいちゃんはこんな芋な方法しか思いつかんかったんよ…。