-2
#include <stdio.h>

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

    return 0;
}

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

4

4 回答 4

1

将 %c 更改为 %d:

printf ("%d\n", n);
于 2013-02-06T07:48:21.310 回答
0

n 是整数类型,所以尝试将其打印为..

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

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

于 2013-02-06T07:48:48.953 回答
0

如果需要在0不更改printf语句的情况下显示,方法是这样做

n = '0';

或者

n = 48;

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

于 2013-02-06T07:59:42.453 回答
0

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

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

试试这个链接

于 2013-02-06T07:54:20.253 回答