关于y=(++i)+(++i)+(++i)的问题-创新互联

#include

成都创新互联公司网站建设服务商,为中小企业提供做网站、网站制作服务,网站设计,网站托管等一站式综合服务型公司,专业打造企业形象网站,让您在众多竞争对手中脱颖而出成都创新互联公司

using namespace std;

int main()

{

int i=2,y;

y=(++i)+(++i)+(++i);

return 1;

}

此程序运行完毕之后,y的值是13.

但是粗略一看应该是12才对啊!

但是这是一个很有趣的问题:

它与表达式求值密切关系,

表达式求值,C++里面是从左到右的求值方式,而+法运算又是左结合的

这样, 你可以认为是 y = ((++x)+(++x)) + (++x);
于是,做最优先的加法之前,先要把两个操作数计算出来,
于是首先计算左操作数   ((++x)+(++x)) ,这个又是一个子表达式

先计算子表达式的左操作数=(++x) = 3

再计算子表达式的右操作数=(++x)=4

左操作数计算出来 = 4+4 = 8

然后,再计算最优先的加法的右操作数 =  ++x = 5

最后,y= 8 + 5 = 13

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网站标题:关于y=(++i)+(++i)+(++i)的问题-创新互联
标题来源:http://bzwzjz.com/article/iscic.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 成都响应式网站建设 攀枝花网站设计 手机网站建设 定制网站建设 高端网站设计 温江网站设计 重庆网站建设 移动手机网站制作 上市集团网站建设 成都网站设计 成都网站设计公司 成都网站建设 成都商城网站制作 网站设计 成都定制网站建设 网站建设公司 成都营销网站建设 成都网站制作 成都网站建设 重庆网站制作 手机网站制作 企业网站制作