首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >这段代码是如何打印5的?

这段代码是如何打印5的?
EN

Stack Overflow用户
提问于 2015-10-25 02:04:15
回答 1查看 53关注 0票数 2
代码语言:javascript
复制
#include <iostream>
using namespace std;

int main() {
    cout<<(int *)16 -  (int *)10 ;
return 0;
}

这段代码产生了一个输出5,我看不懂这个输出?

EN

回答 1

Stack Overflow用户

发布于 2015-10-25 02:32:13

对此进行合理化是没有意义的:您没有一个数组,其中包含内存中1016处的元素。因此,减法操作是未定义的,任何事情都可能发生。

实际上,由于这两个地址之间的差异可能不是sizeof(int)的倍数,您的编译器似乎正在退缩并返回糟糕的无稽之谈。

幸运的是,您从来没有理由在您的项目中编写这些代码,所以这并不重要。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33321559

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档