ちなみにprintfの桁数を揃えたいだけなら

#define MAX 3
printf("%-*.*s\n", MAX, MAX, "hoge");
printf("%*s\n", MAX, "hoge");

という方法もあったりする。上と下の違いは実行してみればわかる