(++i)*(++i)=?

austyywl 2007-03-21 08:32:23
遇到个问题,在这问下,希望有高手能帮忙解惑

int i=2;
int n1=(++i)*(++i);////n=16
int n2=float(++i)*(++i);///n2=12
int n3=(++i)*(++i)*(++i);///n3=80;

...全文
198 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ff5dq4 2007-03-21
  • 打赏
  • 举报
回复
这个属于应试教育的产物
austyywl 2007-03-21
  • 打赏
  • 举报
回复
那就结吧,不管了
austyywl 2007-03-21
  • 打赏
  • 举报
回复
我也不想啊
笔试题就有这样的东东
他这个++两个相乘时就先算出来,到了后面,又成那样,都不知道编译器倒底是怎么想的?
xlbdan 2007-03-21
  • 打赏
  • 举报
回复
int n1=(++i)*(++i);////n=16 这个是两个i都先自加两次再相乘
int n2=float(++i)*(++i);///n2=12 这个是一个i自加了一次,另一个自加了两次,再相乘
int n3=(++i)*(++i)*(++i);///n3=80; 后两个自加两次,第一个自加三次,再相乘

楼主的这个问题是和编译器有关的,不同的编译器会给出不同的值,因为它们的计算顺序不同,有的是从左至右,有的是从右至左,我的机器上VC6的结果和楼主一样,我以前也遇到过这样的问题.
它的规律不太可循,在其它编译器上完全可能不是这个结果

ykzhujiang 2007-03-21
  • 打赏
  • 举报
回复
這是編譯器相關的,標準裏面沒有規定。
ff5dq4 2007-03-21
  • 打赏
  • 举报
回复
dep c++的结果 16 30 576

vc2003 的结果16 36 729

建议楼组lz别把精力用在这个无聊程序身上 毫无意义
MapReduce 2007-03-21
  • 打赏
  • 举报
回复
不对吧,n2应该也是16,n3应该是125
ff5dq4 2007-03-21
  • 打赏
  • 举报
回复
汗 有点难度~~~~~~~~~~~``````
企业智慧中台规划与建设总体方案是一个针对企业数字化转型需求而设计的综合性IT解决方案。该方案旨在构建一个集中、高效和灵活的中台架构,通过整合企业内外部的数据资源、业务流程和应用服务,为企业提供一个统一的数字化运营平台。在当前的商业环境下,企业面临着激烈的市场竞争和不断变化的客户需求。为了应对这些挑战,企业需要快速响应市场变化,提高运营效率,降低成本,并实现持续创新。因此,企业智慧中台的规划和建设成为了关键任务。该方案的核心思想是将企业的业务逻辑、数据管理和技术创新紧密结合起来,形成一个高度集成的智慧中台系统。通过构建标准化的数据模型和接口,实现数据的一致性和可访问性,同时提供丰富的数据分析和挖掘工具,帮助企业发现潜在的商业价值和机会。此外,该方案还注重用户体验和业务敏捷性。通过构建灵活的应用开发框架和API接口,支持快速的业务迭代和定制化需求,满足不同部门和角色的个性化需求。同时,通过智能化的自动化流程和决策支持系统,提高企业的决策效率和准确性。总之,企业智慧中台规划与建设总体方案是一个全面而深入的IT解决方案,旨在帮助企业实现数字化转型,提升竞争力和创新能力。通过构建集中、高效和灵活

64,639

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧