我有这段代码挑战了我对 C 的所有知识。这里我有:
int main(void){
unsigned long long int massage ;
scanf("%llX", &massage); //input: 0x1234567890abcdef
printf("%llX", massage);
return 0;
}
在我的“64bit - Corei5 - Fedora - GCC”上,它会准确地打印出我输入的内容。但在我好友的系统(32 位、MS XP、MinGW)上,它会打印90ABCDEF
. 我不明白为什么。有人知道吗?
顺便说一句:sizeof(unsigned long long int)
在他的系统上是 8。