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

标签 c printf

<分区>

我在想可能有一个“技巧”来复合 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() 行太长了!)

最佳答案

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

printf("%1$f %1$f %1$f %1$f\n", 1.0f);

关于c - 有没有办法让 printf 只引用一个变量的一个实例,用于相同的转换字符重复 x 次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14745629/

相关文章:

c - 如何允许用户输入具有指定初始大小的数组的值?

c - 如何阻止 execve 退出原始程序

c++ - printf 如何从 float 中提取数字?

将二进制序列化转换为人类可读的序列化

c++ - 将 float 的值打印到小数点后两位

c++ - 带有宽度修饰符的 printf 无法打印值

c - 我的 gcc 编译器给了我一个错误,显示为(函数)的类型冲突

计算滚动惯性/动量?

c - 为什么没有打印任何内容? C语言编程

c - printf 的输出乱序