首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

请问达人一个C语言有关问题

2012-03-04 
请教达人一个C语言问题!i0Z(++i)+(++i)+(++i)z等于多少?为什么?[解决办法]探讨应该是9吧...[解决办法]A

请教达人一个C语言问题!
i=0;
Z=(++i)+(++i)+(++i)

z等于多少?
为什么?

[解决办法]

探讨
应该是9吧...

[解决办法]
Assembly code
[color=#00FF00]11:       cout << (++i) + (++i) << endl;[/color]004015A9   push        offset @ILT+195(std::endl) (004010c8)004015AE   mov         edx,dword ptr [ebp-4]004015B1   add         edx,1004015B4   mov         dword ptr [ebp-4],edx004015B7   mov         eax,dword ptr [ebp-4]004015BA   add         eax,1004015BD   mov         dword ptr [ebp-4],eax004015C0   mov         ecx,dword ptr [ebp-4][color=#FF0000]004015C3   add         ecx,dword ptr [ebp-4][/color]004015C6   push        ecx004015C7   mov         ecx,offset std::cout (004767e0)004015CC   call        @ILT+250(std::basic_ostream<char,std::char_traits<char> >::operator<<) (004010ff)004015D1   mov         ecx,eax004015D3   call        @ILT+475(std::basic_ostream<char,std::char_traits<char> >::operator<<) (004011e0)
[解决办法]
上面写的是(++i) + (++i) 的反汇编代码,从上面可以看出来
(++i) + (++i) 的结果可以这样写:
C/C++ code
++i;++i;cout << i + i << endl; 

热点排行