在C中使用printf时如何转义%符号?
printf("hello\%"); /* not like this */
在C中使用printf时如何转义%符号?
printf("hello\%"); /* not like this */
当前回答
使用双%%:
printf("hello%%");
其他回答
是这样的:
printf("hello%%");
//-----------^^ inside printf, use two percent signs together
双字符“%”也适用于“. format(…)”。 示例(iDrawApertureMask == 87, fCornerRadMask == 0.05): csCurrentLine.Format(“\ %添加% 2 d C %, % 6.4 f * \ %”,iDrawApertureMask, fCornerRadMask); 给出csCurrentLine中(字符串内容)的期望值和期望值; “% ADD87C, 0.0500 * %”
您可以通过发布两个'%'来转义它,就像这样:%%
举个例子:
printf("hello%%");
转义'%'符号只适用于printf。如果你有:
char a[5];
strcpy(a, "%%");
printf("This is a's value: %s\n", a);
这是a的值:%%
如果字符串中没有格式,你可以使用puts(或fputs):
puts("hello%");
如果字符串中有格式:
printf("%.2f%%", 53.2);
正如注释中所指出的,puts将一个\n附加到输出,而fputs则不会。
您使用的格式说明符不正确。您应该使用%%来打印%。你的代码应该是:
printf("hello%%");
阅读更多C语言中使用的格式说明符。