三目运算符和if--else 比较.pdf

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
三目运算符和if--else 比较

ifelse ifelse 三目运算符?:与其等价的 iiffeellssee 执行效率比较 部分源代码: #defineMAX(A,B) ((A)=(B)?(B):(A)) intmacromax(int a,intb)//使用三目运算符 { returnMAX(a,b); } intfunmax(int a,intb)//使用ifelse { if(a=b)returnb; elsereturna; } voidfunc1() { inta=1,b=2; funmax(a,b); macromax(a,b); } 使用vc6编译连接。 Debug Debug DDeebbuugg版本 以下是使用三目运算符的函数反汇编结果 0:000umacromax test!macromax: 0040100055 push ebp 004010018bec mov ebp,esp 0040100383ec44 sub esp,0x44 0040100653 push ebx 0040100756 push esi 0040100857 push edi 004010098d7dbc lea edi,[ebp-0x44] 0040100cb911000000 mov ecx,0x11 0:000u test!macromax+11: 8cccccccc mov eax,0xcccccccc 3ab rep stosd 004010188b4508 mov eax,[ebp+0x8] 0040101b3b450c cmp eax,[ebp+0xc] 0040101e7f08 jg test!macromax+0x28 004010208b4d0c mov ecx,[ebp+0xc] 00401023894dfc mov [ebp-0x4],ecx b06 jmp test!macromax+0x2e (0040102e) 0:000u test!macromax+28: 004010288b5508 mov edx,[ebp+0x8] 0040102b8955fc mov [ebp-0x4],edx 0040102e8b45fc mov eax,[ebp-0x4] 004010315f pop edi 004010325e pop esi 004010335b pop ebx 004010348be5 mov esp,ebp 004010365d pop ebp 0:000u test!macromax+37: 3 ret c int 3 以下是使用ifelse 反汇编的结果 0:000ufunmax test!funmax: 0040104055

文档评论(0)

xxj1658888 + 关注
实名认证
内容提供者

教师资格证持证人

该用户很懒,什么也没介绍

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档