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

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

当前回答

你可以使用%%:

printf("100%%");

结果是:

100%

其他回答

如果字符串中没有格式,你可以使用puts(或fputs):

puts("hello%");

如果字符串中有格式:

printf("%.2f%%", 53.2);

正如注释中所指出的,puts将一个\n附加到输出,而fputs则不会。

使用双%%:

printf("hello%%");

与自身……

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

你可以使用%%:

printf("100%%");

结果是:

100%

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