n4nnn输出n是多少?
一眼看上去,心里一万个马奔腾…相信大家平时都不会写这样的代码吧(后面看代码的人会骂娘)
首先,要知道这个表达式的输出值,需要了解C/C++语言运算符优先级和自增表达式:
(1)运算符优先级
优先级
运算符
结合性
1
() [] .
从左到右
2
! +(正) -(负) ~ ++ --
从右到左
3
* / %
从左到右
4
+(加) -(减)
从左到右
5
<< >> >>>
从左到右
6
< <= >=
从左到右
7
== !=
从左到右
8
&(按位与)
从左到右
9
^
从左到右
10
|
从左到右
11
&&
从左到右
12
||
从左到右
13
?:
从右到左
14
= += *= /= %= &= ^= ~= <<= >>= >>>=
从右到左
(2)自增表达式n++: n递增加1,n++表达式返回n的原始值(加1前值)++n: n递增加1,++n表达式返回n的新值(加1后的值)
有了上面的知识后,我们就很轻松得到n的值:
#include #include #include int main() { int n = 4; n = ++n + ++n; std::cout << "n=" << n << std::endl; return 0; }
n=11
为什么是上面的值?所有平台都是11吗?
这实际和编译器有关,实际上编译器处理比较复杂,还会对代码进行优化,这里就手动写下上面的汇编伪代码,剖析内在原理:; 汇编代码使用;注释 ; n = 4 mov n(addr), 0x4 ; ++n (第一次n自增1) add n(addr), 0x1 ; 第一次++n 表达式值 放到寄存器 eax中 mov eax, n(addr) ; ++n (第二次n增1) add n(addr), 0x1 ; 第二次++n 表达式值 放到寄存器 ebx中 mov ebx, n(addr) ; eax = eax + ebx add eax, ebx ; n = eax mov n(addr), eax
由于c/c++编译器在不同平台编译代码都是以上的逻辑,所以在其他平台上运行结果是相同的
房贷断供银行股大跌5000亿!基金公司火速解读中国基金报记者方丽张燕北断供事件正在风口浪尖,资本市场上也随之掀起波澜。近日,全国多地出现烂尾楼盘业主联合发起强制断供的事件。周末终于有消息称,多个涉及停贷风险楼盘项目复工。7月1
英国首相约翰逊将入职中国钻石公司?当事公司回应近日,网上有消息称,据美联社报道,约翰逊当日已经在唐宁街10号正式宣布辞去首相职务,并将以全职身份出任中国某钻石公司的欧洲总代理。这个职务的年薪是75万英镑,而他担任英国首相的年薪
清华744分寒门状元女友曝光,两人很有夫妻相,网名昵称尽显恩爱文萌妈教育日记听闻少年二字,应与平庸相斥。对于寒门学子来说,学习是他们改变人生的唯一方法。虽然贫困地区的学生们无法享受到丰富的教育资源,虽然说寒门难出贵子。但是在过去的很多年中,有
下饭综艺干饭公司真的塌房了?老板连发四条小作文公说公有理,婆说婆有理。老板连发四篇小作文,诉说他对员工有多好。是员工们不知感恩,要辞职。超也发视频简单回应了几个问题第一记得老板对自己的好,对于老板送孩子金锁,自己曾多次,私信及
圈内人曝广电新规!杨颖等艺名不能为英文,辣木洋子率先改回原名9月1日,杨颖辣目洋子等人登上了热搜榜此事的起因是有圈内人爆料称广电总局发了新的规定从即日开始国内所有的艺人名字都不能是英文从而引发热议。在这里想说的是汪海林是圈内有名的编剧,其中
车不易一窗春雨好汉出得嘴,好马出得腿。买车添脚程,烧钱不后悔。泊车天天急,罚分日日虑。行人让彬彬,警察缉戚戚。前车开太慢,后车按滴滴。最怕辅警照,黄贴搅饭局。交费读公里,支出估浮亏。算盘
一口气炫十八集,这部剧一打开就停不下来罚罪宥过以惩之,杀戮犯禁以振之。罚罪剧名源自管子版法,故事上也为观众展现了一种正义力量。足够大尺度的题材和足够扎实的剧情内容的确可以让人一眼沦陷。对于悬疑刑侦题材的电视剧,近两年一
喜诗糖果点击上方关注好看的人都关注了你好,我是笔尖屠苏。喜诗的收购,是巴菲特从烟蒂股模式转向陪伴优质企业成长投资体系的标志性事件。0喜诗的历史喜诗创建于1921年的洛杉矶西大街135号,1
揭秘不为人熟知的团史图一首次考证绘制的早期团中央机关在沪7处旧址图图二俞秀松后人捐出百余年前的珍贵照片1920年8月22日,上海社会主义青年团创建,此后团中央机关曾长期设立于此,直到1933年年初正式
唐山事件水落石出,拔伞除根和扫黑除恶,8名保护伞被查唐山事件受害女生首发声,嫌疑人审讯画面曝光,拔伞除根和扫黑除恶,不能仅靠意外收获,陈某志背后8名保护伞被查,唐山事件水落石出,却让人高兴不起来!唐山打人案终于迎来了最新进展。起诉2
不冠名了!阿尔法央视网消息北京时间8月26日,阿尔法罗密欧发布了一份官方声明,宣布将在2023赛季结束后退出F1,并与索伯结束赞助合作关系,不再成为车队的冠名赞助商。阿尔法罗密欧在声明中写道阿尔法