在C中以运行时动态打印0

时间:2014-12-22 12:58:40

标签: c

我需要在运行时动态地在数字之前打印一些前导0 这就是我所做的:

#include <stdio.h>

int main()
{
    int leading_zero, n;
    scanf("%d %d",&leading_zero, &n);
    for(int i=0; i<leading_zero; i++)
      printf("0");
    printf("%d\n",n);
return 0;
}

没有循环有没有办法做到这一点?

我通过互联网搜索,我发现了类似的东西 - &gt; printf("%05d\n",n)
这将打印static前导0的数量

有没有办法在运行时执行此操作?

1 个答案:

答案 0 :(得分:5)

如果您想在运行时动态地在数字前打印0,您可以执行以下操作之一:

printf("%0*d\n", leading_zero, n);

printf("%.*d\n", leading_zero, n);