我在进行C编程的在线测试时发现了这个程序,我已经尝试过了,但是我无法弄清楚为什么该程序的输出结果是64。
有人能解释一下背后的概念吗?
有人能解释一下背后的概念吗?
#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
int a = 320;
char *ptr;
ptr = (char *)&a;
printf("%d",*ptr);
return 0;
}
输出:
64
谢谢。
320
的十六进制表示为0x140
。0x40
的十进制表示为64
。还有其他问题吗? - Jabberwocky0x40
是十进制的64
.... ;) 顺便说一句,这完全取决于字节序... - LPs