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

Leo*_*eon 1 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;
}
Run Code Online (Sandbox Code Playgroud)

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

我通过互联网搜索,我发现了这样的东西 - > printf("%05d\n",n)
将打印static前导0的数字

有没有办法在运行时这样做?

Moh*_*ber 5

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

printf("%0*d\n", leading_zero, n);
Run Code Online (Sandbox Code Playgroud)

要么

printf("%.*d\n", leading_zero, n);
Run Code Online (Sandbox Code Playgroud)