你如何在C中显示“%5d”?

如何在C中显示字符串“%5d”? 我尝试在百分比前加一个反斜杠,但它不会打印(并发出警告)。 我试过谷歌搜索但无济于事。 我想这对我来说太宽了,无法找到具体的答案。

#include  int main(void) { int test = 40; printf("\%5.1d %5.1d", test); //this is the one printf("%5.1d", test); return 0; } 

有帮助吗?

要打印% try printf("%%") ;

这很有效

 printf("%%5.1d %5.1d", test); 

使用double% – printf("%%5d")

作为另外两个(至少)完全正确的答案的替代,您也可以使用这样的fputs()

 #include  int main(void) { int test = 40; fputs("%5d ", stdout); printf("%5.1d\n", test); return 0; } 

请注意,我在输出中添加了换行符; 这很重要,因为在输出换行符之前输出不会刷新到终端。 fputs()请注意,我使用了fputs()而不是puts()因为puts()会发出您不想发出的换行符。

但是,了解在printf()scanf()函数系列中使用双倍%实际百分比的一般解决方案将为您的未来做好准备。

或者你可以做printf("%s", "%5d") :)我明白这是一种迂回的方式,其他答案中描述的更好,但只是提到这也是一种可能性。