。
我一直在玩并尝试在我的大学课堂上尝试使用 C,我发现了我的程序所做的一些事情,即使我没有告诉它!
我的完整代码:
#include <stdio.h>
int main(void) {
int c;
while ((c = getchar()) != EOF) {
printf("%dn", (c - '1'));
}
return 0;
}
它的输出如下所示:
7
6
-39
现在,谁能告诉我为什么要打印 -39?
如果你看看这个,就很清楚了。首先输入8
然后输入7
然后输入 ASCII 值为 10
的 n
(或按 ENTER(。 10-49
(49
是'1'
的ASCII值(是你打印-39
。
因为您在末尾输入了"Enter",因此它会减去 ASCII 值为 1 的 Enter 的 ASCII 值。
输入的 ascii 值为 10,1 的 ascii 值为 49,因此 10-49 等于 39