我就是这样做的

printf( (n==0) ? " %d" : " %3d", n );

但是有条件格式描述符吗?

因此,它的含义类似于“如果这样短暂地使用这样的填充,但是如果更长时使用这样的填充”。

可以做?

最佳答案

没有条件,但是您可以使用*在参数中指定宽度。例如。:

printf(" %*d", (n==0)?1:3, n);

09-06 10:03