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

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

当前回答

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

puts("hello%");

如果字符串中有格式:

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

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

其他回答

与自身……

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

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

puts("hello%");

如果字符串中有格式:

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

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

您可以通过发布两个'%'来转义它,就像这样:%%

举个例子:

printf("hello%%");

转义'%'符号只适用于printf。如果你有:

char a[5];
strcpy(a, "%%");
printf("This is a's value: %s\n", a);

这是a的值:%%

使用双%%:

printf("hello%%");

是这样的:

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