理解i++和++i
Posted 炽离
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了理解i++和++i相关的知识,希望对你有一定的参考价值。
理解i++和++i
i++和++i是C/C++基础知识,i++是先传值后自增,++i是先自增后传值。汇编源码如下:
int xx; int x = 1; 00F61702 mov dword ptr [x],1 xx = x++; 00F61709 mov eax,dword ptr [x] //将x值保存到eax 00F6170C mov dword ptr [xx],eax //eax赋值给xx 00F6170F mov ecx,dword ptr [x] //将x值保存到ecx 00F61712 add ecx,1 //ecx加1 00F61715 mov dword ptr [x],ecx //ecx赋值给x int z = 2; 00F61718 mov dword ptr [z],2 xx = ++z; 00F6171F mov eax,dword ptr [z] //将z值保存到eax 00F61722 add eax,1 //eax加1 00F61725 mov dword ptr [z],eax //eax赋值给z 00F61728 mov ecx,dword ptr [z] //z传值给ecx 00F6172B mov dword ptr [xx],ecx //ecx传值给xx
以上是关于理解i++和++i的主要内容,如果未能解决你的问题,请参考以下文章
[Codeforces Round #522 (Div. 2, based on Technocup 2019 Elimination Round 3)][C. Playing Piano](代码片段