有没有办法让printf引用一个变量的实例,对于相同的转换字符重复x次?

use*_*331 1 c printf

我当时认为可能有一个"伎俩"来使右侧复合printf()

或者这样的例子......

float x;
printf("%.1f %.1f %.1f %.1f \n", x, x, x, x );
Run Code Online (Sandbox Code Playgroud)

这样的事情

float x;
printf("%.1f %.1f %.1f %.1f \n", magicArrayOfxAmountofx);
Run Code Online (Sandbox Code Playgroud)

(我知道这是错的 - 我主要是要求化妆和魔法目的而且我认为必须有一个"技巧",printf()如果它是相同的值,将右侧复合成一个变量?一个数组可能?作为我的变量名字比x我长得多,我想保持它的命名方式相同,不要让这printf()条线太长!)

小智 6

就在这里.在POSIX系统上,printf()允许您使用n$转换说明符中的修饰符指定应打印的参数,其中n表示要从1开始打印的参数的编号.你可以利用这个事实:

printf("%1$f %1$f %1$f %1$f\n", 1.0f);
Run Code Online (Sandbox Code Playgroud)