在C中使用printf时如何转义%符号?
printf("hello\%"); /* not like this */
在C中使用printf时如何转义%符号?
printf("hello\%"); /* not like this */
当前回答
您使用的格式说明符不正确。您应该使用%%来打印%。你的代码应该是:
printf("hello%%");
阅读更多C语言中使用的格式说明符。
其他回答
如果字符串中没有格式,你可以使用puts(或fputs):
puts("hello%");
如果字符串中有格式:
printf("%.2f%%", 53.2);
正如注释中所指出的,puts将一个\n附加到输出,而fputs则不会。
是这样的:
printf("hello%%");
//-----------^^ inside printf, use two percent signs together
你可以简单地使用两次%,即%%
例子:
printf("You gave me 12.3 %% of profit");
正如其他人所说,%%将转义%。
然而,请注意,你永远不应该这样做:
char c[100];
char *c2;
...
printf(c); /* OR */
printf(c2);
当你需要打印字符串时,总是,总是,总是使用
printf("%s", c)
防止嵌入的%引起问题(内存违规,分段错误等)。
您使用的格式说明符不正确。您应该使用%%来打印%。你的代码应该是:
printf("hello%%");
阅读更多C语言中使用的格式说明符。