我在想可能有一个“伎俩”来加强printf()
的右侧?
或者这样的例子......
float x;
printf("%.1f %.1f %.1f %.1f \n", x, x, x, x );
这样的事情
float x;
printf("%.1f %.1f %.1f %.1f \n", magicArrayOfxAmountofx);
(我知道这是错的 - 我主要是要求化妆和魔法目的,我认为如果它是相同的值,必须有一个“技巧”将printf()
的右侧复合到一个变量中?一个数组可能?因为我的变量名比x
长得多,我想保持它的命名方式相同,不要让printf()
行太长!)
答案 0 :(得分:6)
是的,有。在POSIX系统上,printf()
允许您使用转换说明符中的n$
修饰符指定应打印的参数,其中n
表示要打印的参数编号,从1开始。你可以利用这个事实:
printf("%1$f %1$f %1$f %1$f\n", 1.0f);
答案 1 :(得分:0)
不完全是你要求的,但在这个特定的例子中,看起来你会更好地使用循环,减少格式字符串和变量列表中的代码重复。类似的东西:
for(k=0; k<4; ++k)
printf("%.1f ", x);
printf("\n")
(当然,如果你经常这样做,你还是想把这些代码放在一个函数中。)