这可能吗?所以,如果我要打印一个值,我可以在实际输出之前用3个空格而不是4个空格打印它吗?
答案 0 :(得分:4)
printf具有*格式,用于动态指定最小字段宽度:
#include <stdio.h>
int main(int argc, char *argv[])
{
int value = 5;
const char *name = "LaDonna";
double value2 = 200.55;
const char *space = " ";
for (int width = 0; width < 10; width++)
printf("%*d %*.2f %*s\n",width,value,width,value2,width + 5,name);
for (int width=1; width < 5; width++)
printf("%*s%d\n",width,space,width);
return 0;
}
输出:
5 200.55 LaDonna
5 200.55 LaDonna
5 200.55 LaDonna
5 200.55 LaDonna
5 200.55 LaDonna
5 200.55 LaDonna
5 200.55 LaDonna
5 200.55 LaDonna
5 200.55 LaDonna
5 200.55 LaDonna
1
2
3
4