如何在C中显示字符串“%5d”?我尝试在百分比前加一个反斜杠,但它不会打印(并发出警告)。我试过谷歌搜索但无济于事。我想这对我来说太宽了,无法找到具体的答案。
#include <stdio.h>
int main(void)
{
int test = 40;
printf("\%5.1d %5.1d", test); //this is the one
printf("%5.1d", test);
return 0;
}
任何帮助?
答案 0 :(得分:10)
要打印%
,请尝试printf("%%")
;
这有效
printf("%%5.1d %5.1d", test);
答案 1 :(得分:2)
使用双倍% - printf("%%5d")
。
答案 2 :(得分:2)
作为另外两个(至少)完全正确答案的替代方案,您也可以像这样使用fputs()
:
#include <stdio.h>
int main(void)
{
int test = 40;
fputs("%5d ", stdout);
printf("%5.1d\n", test);
return 0;
}
请注意,我在输出中添加了换行符;这很重要,因为在输出换行符之前输出不会刷新到终端。另请注意,我使用的是fputs()
而不是puts()
,因为puts()
会发出您不希望发出的换行符。
但是,了解在%
和printf()
系列函数中使用双倍scanf()
获得实际百分比的一般解决方案将为您的未来做好准备。< / p>
答案 3 :(得分:2)
或者你可以做printf("%s", "%5d")
:)我明白这是一种迂回的方式,其他答案中描述的更好,但只是提到这也是一种可能性。