printf()与%c格式代码不打印我期望的

时间:2013-02-06 07:47:14

标签: c printing

#include <stdio.h>

int main ( ) {
    int n;
    n = 0;
    printf ("%c\n", n);

    return 0;
}

所以这是我的代码,但是当我打印它时,它只是打印一个空格。它不应该打印0?

4 个答案:

答案 0 :(得分:1)

按%d更改%c:

printf ("%d\n", n);

答案 1 :(得分:0)

n是整数类型,因此请尝试将其打印为..

printf("%d\n",n);

如果你使用%c,那么它在ASCII表中打印第一个字节的相关字符。

答案 2 :(得分:0)

Printf将格式指向的C字符串写入标准输出(stdout)。如果format包含格式说明符(以%开头的子序列),格式化后的其他参数将被格式化并插入到结果字符串中,替换它们各自的说明符。

这里使用错误的格式说明符来打印您的值。 %c用于打印char(字符)类型的变量。将%d用于int(整数)。

试试这个Link

答案 3 :(得分:0)

如果您需要在不更改0声明的情况下显示printf,那么执行此操作的方法是

n = '0';

n = 48;

查看Ascii Table,查看ascii值为0。