#include <iostream>
using namespace std;
int main() {
cout<<(int *)16 - (int *)10 ;
return 0;
}这段代码产生了一个输出5,我看不懂这个输出?
发布于 2015-10-25 02:32:13
对此进行合理化是没有意义的:您没有一个数组,其中包含内存中10和16处的元素。因此,减法操作是未定义的,任何事情都可能发生。
实际上,由于这两个地址之间的差异可能不是sizeof(int)的倍数,您的编译器似乎正在退缩并返回糟糕的无稽之谈。
幸运的是,您从来没有理由在您的项目中编写这些代码,所以这并不重要。
https://stackoverflow.com/questions/33321559
复制相似问题