跳过printf()中的参数[英] Skipping parameters in a printf()

问题描述

是否有一些修饰符可以跳过 printf 的参数?

比如我传了三个参数:
printf(<格式字符串>, ''-'', value/10, value%10);

在某些情况下我想打印减号字符,在其他
我想跳过的情况.
如果要打印标志,很简单:
<格式字符串="%c%d.%1d"
如果我只想打印
的最后两个参数怎么办printf(),跳过符号字符?

推荐答案

pozz 说:
是否有一些修饰符跳过了 printf 的参数?

比如我传了三个参数:
printf(<格式字符串>, ''-'', value/10, value%10 );

在某些情况下我想打印减号字符,在其他
我想跳过的情况.
如果要打印标志,很简单:
<格式字符串="%c%d.%1d"
如果我只想打印
的最后两个参数怎么办printf(),跳过符号字符?
这是一种方法:

printf("%s%d.%1d", you_want_a_minus ? "-" : "", value/10, value%10);

这是另一个:

如果(you_want_a_minus)
{
putchar(''-'');
}
printf("%d.%1d", value/10, value%10);

毫无疑问还有其他方法.

--
理查德·希思菲尔德
"Usenet 是个奇怪的地方"- dmr 29/7/1999
http://www.cpax.org.uk
电子邮件:rjh 在上述域,- www.

5 月 2 日 15:12,pozz <pozzu...@libero.it 写道:
是否有一些修饰符跳过了 printf 的参数?

比如我传了三个参数:
printf(<格式字符串>, ''-'', value/10, value%10 );

在某些情况下我想打印减号字符,在其他
我想跳过的情况.
如果要打印标志,很简单:
<格式字符串="%c%d.%1d"
如果我只想打印
的最后两个参数怎么办printf(),跳过符号字符?
我更喜欢(对于"喜欢"这个词的某些价值)这个解决方案:-)

#include <stdio.h>
void printValue(int value) {
printf("%*4

.*4

本文地址:https://www.itbaoku.cn/post/1050444.html