【发布时间】:2019-06-06 09:06:20
【问题描述】:
在程序中,printf("%d", getchar()) 正在打印额外的 10。
当我像 a 一样输入时,它会打印 9710 而不是 97,其他人也一样
#include <stdio.h>
int main() {
int c;
while((c=getchar()) != EOF) {
printf("%d", c);
}
printf("\n\tENDED\n\n");
return 0;
}
me@Device-xx:~/Desktop/Test/Tmps$ gcc 118.c -o 118
me@Device-xx:~/Desktop/Test/Tmps$ ./118
a
9710s
11510x
12010
【问题讨论】:
-
你按了哪些键,(注意复数)?
-
10 - ASCII LF - 换行 - 换行。这不是“额外”的 10,而是您输入的内容。
-
查找 UTF8 编码 10,这可能会给你一个线索。
-
请以正确的方式标记您的代码。谢谢!
-
十进制 97 是
'a',十进制 10 是换行符。正是您输入的内容。