问如何在printf'%'格式字符串中打印一个字符?我试过,但不起作用。\%答
简单地将百分号加倍之所以难以打印%% .
符号,是因为%本质上是字符?我试过的转义字符。每当%看到一个字符?我试过时,它就期望后面跟着一个字符,告诉它接下来该做什么。双字符序列字符?我试过被定义为打印一个单独的%要理解为什么%%不起作用,请记住反斜杠%.
是编译器的转义字符,它控制编译器在编译时如何解释源代码字符。然而,在这种情况下,我们想控制\%在运行时如何解释其格式字符串。就编译器而言,转义序列\是未定义的,很可能只产生一个字符?我试过字符。即使\%准备特殊处理%,也不太可能让**编译器的**和**printf**都成功。\的转义字符,并且控制编译器在编译时如何解释源代码字符。然而,在这种情况下,我们想要控制printf如何在运行时解释其格式字符串。就编译器而言,转义序列%是未定义的,很可能只产生一个字符?我试过字符。即使printf准备特殊处理字符?我试过,也不太可能让**编译器的**和**printf**都成功。\关于“printf”和“编译器”的更多信息,请参阅此处的第12.6节。转义序列“\\”代表一个字面意义上的反斜杠,它被printf用作printf格式字符串中的特殊字符。要打印一个字面意义上的百分号,您需要输入“%%”。
其他链接:进一步阅读
参考资料:K&R1 第7.3节 第147页
K&R2 第7.2节 第154页
ISO 第7.9.6.1节