所以我试图输入我的C代码,但是当我使用getchar()时,我一直在获取垃圾。

我试过使用scanf()代替,但是没有运气。

#include <stdio.h>
int main(){
    int c;
    while((c=getchar()) != EOF){
        printf("%d", c);
   }
}


我在bash shell上用文本文件作为输入来编译它,并且值根本不匹配。
我的输入

lo
hello, world
23


我的输出

lo
108
111
10
104
101
108
108
111
44
32
119
111
114
108
100
10
50
51
10
10


为什么会这样呢?

最佳答案

您的代码输出与您的代码读入的每个字符相对应的数字代码。大概是计算机用来表示您输入的字符的数字代码。

您没有说出您的期望或原因,但是它必须是一系列整数,因为这是您的代码可能输出的全部。

10-05 22:42