请问一个关于printf的用法

请教一个关于printf的用法有程序如下 static void printbin(int n, int digits){int ichar output[128]f

请教一个关于printf的用法
有程序如下
 static void
 printbin(int n, int digits)
{
   int i;
   char output[128];
   for(i = 0; i < digits; ++i) {
   output[digits - i - 1] = (n & 1) + &apos;0&apos;;
   n >>= 1;
  }
   output[i] = 0;
   printf(output);
 }
请问这里的printf是什么用法,有什么效果
[解决办法]
被处理过了吧  例如:#define printf(a) printf("%c",a)
[解决办法]
应该会报错。
[解决办法]
本意应该是如下代码所示,以二进制的方式打印n:


void printbin(int n, int digits)
{
   int i;
   char output[128];
   for(i = 0; i < digits; ++i) {
   output[digits - i - 1] = (n & 1) + '0';
   n >>= 1;
  }
   output[i] = 0;
   printf("%s\n", output);
 }