在C中使用printf时如何转义%符号?

printf("hello\%"); /* not like this */

当前回答

正如其他人所说,%%将转义%。

然而,请注意,你永远不应该这样做:

char c[100];
char *c2;
...
printf(c); /* OR */
printf(c2);

当你需要打印字符串时,总是,总是,总是使用

printf("%s", c)

防止嵌入的%引起问题(内存违规,分段错误等)。

其他回答

使用双%%:

printf("hello%%");

与自身……

printf("hello%%"); /* like this */

你可以简单地使用两次%,即%%

例子:

printf("You gave me 12.3 %% of profit");

C语言中的反斜杠用于转义字符串中的字符。字符串不会将%识别为特殊字符,因此不需要转义。Printf则是另一回事:使用%%来打印一个%。

是这样的:

printf("hello%%");
//-----------^^ inside printf, use two percent signs together