简单问题,指针运算double* pD1 = (double*)1243324; double* pD2 = (double*)1243300; long L = pD1 - pD2; 为什么pD1-pD2的结果是long类型,而不是double? 因为将L的类型改为int,提示不能隐式地将long 转换到int型。 [解决办法]地址相减,当然是整型了,你得 *pD1 - *pD2才行