如何打印"%" printf的字符?

时间:2015-01-20 11:24:40

标签: c++ c

的输出
printf("%%%%%%%%");

%%%%

我打印了% 8次,为什么输出只有4 %

3 个答案:

答案 0 :(得分:13)

因为%是格式说明符转义序列(如%d中所示,会打印int)。

要让程序打印实际符号,请编写%%。同样适用于\。 (虽然根本不同,你仍需要两个打印一个)

答案 1 :(得分:3)

"%"是一个特殊字符,用于指定格式说明符,用于打印一个需要两个"%"的序列的"%%"字段。

格式字符串中使用"%"来指定占位符,该占位符将被传递给格式化其输出的函数的相应参数替换,如printf() / fprintf() / sprintf()

那么如何打印文字"%"

  • 使用其他"%"转发它。

例如,如果您希望打印整数百分比值,则需要指定"%d"和文字"%"作为格式说明符,这样您就可以这样做

printf("%d%%\n", value):

阅读this以了解详情。

答案 2 :(得分:1)

"%%"
printf中的

是一个转义'%'的符号。请参阅此stackoverflow答案:How to escape the % sign in C's printf?