文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>关于c中的++运算符

关于c中的++运算符

时间:2010-10-25  来源:王晓营

 

#include<iostream>
using namespace std;
int main()
{
  int m=1,n=2;
  n=--m&n++;
  cout<<n<<endl;
  n=++m|n++;
  cout<<n<<endl;
  return 1;
}

输出的结果是1和2

后置的++运算符是在赋值运算符执行后才进行的自加运算?

 

查看了生成的汇编代码

6:        n=--m&n++;
00401586   mov         eax,dword ptr [ebp-4]
00401589   sub         eax,1
0040158C   mov         dword ptr [ebp-4],eax
0040158F   mov         ecx,dword ptr [ebp-4]
00401592   and         ecx,dword ptr [ebp-8]
00401595   mov         dword ptr [ebp-8],ecx
00401598   mov         edx,dword ptr [ebp-8]
0040159B   add         edx,1
0040159E   mov         dword ptr [ebp-8],edx
7:        n=++m|n++;
004015A1   mov         eax,dword ptr [ebp-4]
004015A4   add         eax,1
004015A7   mov         dword ptr [ebp-4],eax
004015AA   mov         ecx,dword ptr [ebp-4]
004015AD   or          ecx,dword ptr [ebp-8]
004015B0   mov         dword ptr [ebp-8],ecx
004015B3   mov         edx,dword ptr [ebp-8]
004015B6   add         edx,1
004015B9   mov         dword ptr [ebp-8],edx

 

n=--m&n++等价于

--m;

n=m&n;

n++;

C/C++中后置++,--的操作与C#不同,C#的运行结果是0和1

相关阅读 更多 +
排行榜 更多 +
雷电觉醒安卓版

雷电觉醒安卓版

飞行射击 下载
3D幻影飞车最新版

3D幻影飞车最新版

飞行射击 下载
星河一号战队

星河一号战队

飞行射击 下载