输出结果
printf("%%%%%%%%");
是
%%%%
我使用了
%
八次,为什么输出只有四个 %
?因为 %
是一个格式说明转义序列(比如说 %d
会打印一个 int
)。
如果想要程序打印出这个符号,你需要写成 %%
。对于 \
也是一样(虽然在本质上不同,但你仍然需要用它来打印一个)。
'\\'
表示一个字符。%
符号是格式化 IO 函数中的特殊字符, "%%"
则表示两个字符。 - T.C."%"
是一个特殊字符,用于指定格式说明符。要打印字面上的"%"
,需要使用两个"%%"
的序列。"%"
用于指定占位符,该占位符将被传递给格式化其输出的函数(如printf()
/fprintf()
/sprintf()
)的相应参数替换。"%"
呢?"%"
进行转义。"%d"
作为格式说明符和一个字面上的"%"
,因此您可以这样做:printf("%d%%\n", value):
阅读这篇文章,以了解更多信息。
man printf
?(并在页面上搜索%%
)。 - Karoly Horvathprintf
同样有效(看,多么可爱的图表..)。这是另一个:print % with printf
或者printf print %
。 - Karoly Horvath