int a=5,b b=(++a)+(++a),为什么b是14

 我来答
百度网友6fe74e2
推荐于2017-09-21 · TA获得超过6592个赞
知道大有可为答主
回答量:1973
采纳率:100%
帮助的人:231万
展开全部
int a=5,b;
b=(++a)+(++a);
由于++在变量的前面,所以应该先让a变量自增,再用自增后的值
由于有两个++a
所以
b=(++a)+(++a);
这句相当于三句:
++a;
++a;
b=a+a;
上面两句运行完之后,a的值肯定是7,因为自增了两次
所以最后
b=a+a=7+7==14
TableDI
2024-07-18 广告
仅需3步!不写公式自动完成Excel vlookup表格匹配!Excel在线免,vlookup工具,点击16步自动完成表格匹配,无需手写公式,免费使用!... 点击进入详情页
本回答由TableDI提供
天空天空天空空
2013-04-07 · TA获得超过2112个赞
知道大有可为答主
回答量:1668
采纳率:50%
帮助的人:1106万
展开全部
++a的优先级高于普通的加法,所以这个运算中,先计算2个++a,结果是a=7,接着计算a+a,结果就是14
追问
为什么不是6  7呢?
追答
因为计算机处理这种运算式的时候,不是依次读入每个字符的,而是整体一起读入的,然后再进行变量替换的,两个++a对于计算机而已,就是a自加2次,然后算完的a再进行计算其他优先低的运算符
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
SeeEveryDay
2018-04-16
知道答主
回答量:1
采纳率:0%
帮助的人:864
引用示申佥11的回答:
int a=5,b;
b=(++a)+(++a);
由于++在变量的前面,所以应该先让a变量自增,再用自增后的值
由于有两个++a
所以
b=(++a)+(++a);
这句相当于三句:
++a;
++a;
b=a+a;
上面两句运行完之后,a的值肯定是7,因为自增了两次
所以最后
b=a+a=7+7==14
展开全部
答案是13吧。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式