如何显示";%5d“;在C中?

如何显示";%5d“;在C中?,c,C,如何在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; } #包括 内部主(空) { in

如何在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;
}
#包括
内部主(空)
{
int检验=40;
printf(\%5.1d%5.1d),test);//这是一个
printf(“%5.1d”,测试);
返回0;
}

有什么帮助吗?

要打印
%
请尝试
printf(“%%”)

这很有效

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

使用双%-
printf(“%%%5d”)

作为其他两个(至少)完全正确答案的替代方法,您也可以像这样使用
fputs()

#include <stdio.h>

int main(void)
{
    int test = 40;
    fputs("%5d ", stdout);
    printf("%5.1d\n", test);
    return 0;
}
#包括
内部主(空)
{
int检验=40;
FPUT(“%5d”,标准输出);
printf(“%5.1d\n”,测试);
返回0;
}
注意,我在输出中添加了一个换行符;这一点很重要,因为在输出换行符之前,输出不会刷新到终端。还要注意,我使用了
fputs()
而不是
put()
,因为
put()
会发出一个您不希望发出的新行


然而,知道在
printf()
scanf()
函数族中使用双百分比的一般解决方案将对您的未来有好处。

或者您可以使用
printf(“%s”,“5d”)
:)我理解这是一种迂回的方式,其他答案中描述的更好,但仅仅提到这一点也是可能的

@CyberMew:如果这个答案对你有帮助,你应该“接受”它,这意味着你的问题得到了回答。您可以通过单击答案框中的绿色复选标记来完成此操作。