putchar在两个程序上的行为不同

时间:2019-12-02 10:11:35

标签: c

您好,我正在读Ritchie的书《 The C Programming Language》。

但是我绊倒了一些有趣的东西。

在此程序中:

#include <stdio.h>

/* copy input to output */

main() {

    int c;

    while ((c = getchar()) != EOF)
           putchar(c);
}
书中提到的

putchar行为。将输入复制到输出

但是,在此程序上:

#include <stdio.h>

main() {

    int c = 48;
    putchar(c);
}

putchar而是返回ascii值。

因此,我很难理解putchar的工作原理。

提前谢谢。

0 个答案:

没有答案