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

时间:2011-01-23 06:22:03

标签: 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;
}

任何帮助?

4 个答案:

答案 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") :)我明白这是一种迂回的方式,其他答案中描述的更好,但只是提到这也是一种可能性。