++,++的问题扯淡

开心的卡夫卡 2009-12-18 07:18:30

#include "stdafx.h"

void main()
{
int a,b,i=3,j=3;
a=(i++)+(i++)+(i++);
b=(++j)+(++j)+(++j);
printf("a=%d,b=%d,i=%d,j=%d\n",a,b,i,j);
i = 3;
j = 3;
a =i+++i+++i++;
b=(++j)+++j+++j;
printf("a=%d,b=%d,i=%d,j=%d\n",a,b,i,j);
}



其实不怎么实用,不过有时间,大家帮忙透彻一下吧
...全文
110 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
macrojj 2009-12-18
  • 打赏
  • 举报
回复
我根本不在乎 这个题
sunnypchen 2009-12-18
  • 打赏
  • 举报
回复
我想了一个多小时,越想越晕。。。
KingWolfOfSky 2009-12-18
  • 打赏
  • 举报
回复

void main()
{
002C13A0 push ebp
002C13A1 mov ebp,esp
002C13A3 sub esp,0F0h
002C13A9 push ebx
002C13AA push esi
002C13AB push edi
002C13AC lea edi,[ebp-0F0h]
002C13B2 mov ecx,3Ch
002C13B7 mov eax,0CCCCCCCCh
002C13BC rep stos dword ptr es:[edi]
int a,b,i=3,j=3;
002C13BE mov dword ptr [i],3
002C13C5 mov dword ptr [j],3
a=(i++)+(i++)+(i++);
002C13CC mov eax,dword ptr [i]
002C13CF add eax,dword ptr [i]
002C13D2 add eax,dword ptr [i]
002C13D5 mov dword ptr [a],eax
002C13D8 mov ecx,dword ptr [i]
002C13DB add ecx,1
002C13DE mov dword ptr [i],ecx
002C13E1 mov edx,dword ptr [i]
002C13E4 add edx,1
002C13E7 mov dword ptr [i],edx
002C13EA mov eax,dword ptr [i]
002C13ED add eax,1
002C13F0 mov dword ptr [i],eax
b=(++j)+(++j)+(++j);
002C13F3 mov eax,dword ptr [j]
002C13F6 add eax,1
002C13F9 mov dword ptr [j],eax
002C13FC mov ecx,dword ptr [j]
002C13FF add ecx,1
002C1402 mov dword ptr [j],ecx
002C1405 mov edx,dword ptr [j]
002C1408 add edx,1
002C140B mov dword ptr [j],edx
002C140E mov eax,dword ptr [j]
002C1411 add eax,dword ptr [j]
002C1414 add eax,dword ptr [j]
002C1417 mov dword ptr [b],eax
printf("a=%d,b=%d,i=%d,j=%d\n",a,b,i,j);
002C141A mov esi,esp
002C141C mov eax,dword ptr [j]
002C141F push eax
002C1420 mov ecx,dword ptr [i]
002C1423 push ecx
002C1424 mov edx,dword ptr [b]
002C1427 push edx
002C1428 mov eax,dword ptr [a]
002C142B push eax
002C142C push offset string "a=%d,b=%d,i=%d,j=%d\n" (2C573Ch)
002C1431 call dword ptr [__imp__printf (2C82BCh)]
002C1437 add esp,14h
002C143A cmp esi,esp
002C143C call @ILT+310(__RTC_CheckEsp) (2C113Bh)
i = 3;
002C1441 mov dword ptr [i],3
j = 3;
002C1448 mov dword ptr [j],3
a =i+++i+++i++;
002C144F mov eax,dword ptr [i]
002C1452 add eax,dword ptr [i]
002C1455 add eax,dword ptr [i]
002C1458 mov dword ptr [a],eax
002C145B mov ecx,dword ptr [i]
002C145E add ecx,1
002C1461 mov dword ptr [i],ecx
002C1464 mov edx,dword ptr [i]
002C1467 add edx,1
002C146A mov dword ptr [i],edx
002C146D mov eax,dword ptr [i]
002C1470 add eax,1
002C1473 mov dword ptr [i],eax
b=(++j)+++j+++j;
002C1476 mov eax,dword ptr [j]
002C1479 add eax,1
002C147C mov dword ptr [j],eax
002C147F mov ecx,dword ptr [j]
002C1482 add ecx,dword ptr [j]
002C1485 add ecx,dword ptr [j]
002C1488 mov dword ptr [b],ecx
002C148B mov edx,dword ptr [j]
002C148E add edx,1
002C1491 mov dword ptr [j],edx
002C1494 mov eax,dword ptr [j]
002C1497 add eax,1
002C149A mov dword ptr [j],eax
printf("a=%d,b=%d,i=%d,j=%d\n",a,b,i,j);
002C149D mov esi,esp
002C149F mov eax,dword ptr [j]
002C14A2 push eax
002C14A3 mov ecx,dword ptr [i]
002C14A6 push ecx
002C14A7 mov edx,dword ptr [b]
002C14AA push edx
002C14AB mov eax,dword ptr [a]
002C14AE push eax
002C14AF push offset string "a=%d,b=%d,i=%d,j=%d\n" (2C573Ch)
002C14B4 call dword ptr [__imp__printf (2C82BCh)]
002C14BA add esp,14h
002C14BD cmp esi,esp
002C14BF call @ILT+310(__RTC_CheckEsp) (2C113Bh)
}

yang677888 2009-12-18
  • 打赏
  • 举报
回复
看看 帮顶
sunnypchen 2009-12-18
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 a1000004176 的回复:]
研究这些东西没意思~
[/Quote]
华为09年的校园招聘中就出过五道这样的笔试题。。。
a1000004176 2009-12-18
  • 打赏
  • 举报
回复
研究这些东西没意思~
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 ypb362148418 的回复:]
由编译器决定的,最近貌似有很多问这样的帖子
[/Quote]
快到考试时间了。考试就喜欢考这些东西。
ypb362148418 2009-12-18
  • 打赏
  • 举报
回复
由编译器决定的,最近貌似有很多问这样的帖子
jixingzhong 2009-12-18
  • 打赏
  • 举报
回复
未定义行为,将依赖于环境
mstlq 2009-12-18
  • 打赏
  • 举报
回复
http://www.titilima.cn/show-234-1.html
  • 打赏
  • 举报
回复
未定义行为,别浪费时间研究了
机智的呆呆 2009-12-18
  • 打赏
  • 举报
回复
其实根据优先级和编译器对这种文法的解析方式,是有规律可循的~~~

64,666

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧