你问问题的时候数字没有抄错吧?
代码:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <conio.h>
int main(void)
{
int i = -886545600;
printf("old = %d, %.8X\n", i, i);
scanf("%c", &i);
printf("new = %d, %.8X\n", i, i);
_getch();
return 0;
}
运行结果:
old = -886545600, CB286340
a
new = -886545567, CB286361
提示:'a' = 97 = 0x61
看这种东西一般都是用十六进制,你非得十进制,看不出来是正常的……