我一直在玩,并试图为我的大学课程试验C,我找到了一些我的课程,即使我没有告诉它!
我的完整代码:
#include <stdio.h>
int main(void) {
int c;
while ((c = getchar()) != EOF) {
printf("%d\n", (c - '1'));
}
return 0;
}
它的输出如下:
7
6
-39
现在,谁能告诉我为什么要打印-39?
答案 0 :(得分:5)
如果你看this,那就太清楚了。首先,您输入了8
然后7
,然后输入了\n
(或按 ENTER ),其中ASCII值为10
。 10-49
(49
是'1'
的ascii值)是-39
您已经打印过它。
答案 1 :(得分:0)
因为你在末尾输入'enter'所以它减去了ascii值为1的enter的ascii值。
enter的ascii值是10&amp; ascii of 1为49,因此10-49等于39。