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

for中疑问 指教

2012-04-03 
for中疑问大虾指教for(i0i ni++){......}与for(i0i n++i){.......}有何区别i0while(i n){if(..

for中疑问 大虾指教
for(i=0;i <n;i++)                                                                                
                                                     

                                                       
{
      ......

  }
与for(i=0;i <n;++i)
  {
    .......

    }

有何区别
i=0;
while(i <n)
    {
              if(...)
                    continue;
              i++;
            }

for(i=0;i <n;i++)
{
              if()

  continue;
}
又有什么差别

[解决办法]
++i 比 i++ 的效率更高
[解决办法]
编码规范提倡++i
[解决办法]
楼主这个问题有意思:++i和i++,也就是自增,我们常叫它自加.他们的区别是前者表示使用前就加一,后者则表示使用后加一.
它们也只有在特定的块中才会有区别,作用域以后,无区别.
例如:赋值时有区别a=i++;和a=++i;

[解决办法]
4: int i=0;
00401028 mov dword ptr [ebp-4],0
5: i++;
0040102F mov eax,dword ptr [ebp-4]
00401032 add eax,1
00401035 mov dword ptr [ebp-4],eax
6: ++i;
00401038 mov ecx,dword ptr [ebp-4]
0040103B add ecx,1
0040103E mov dword ptr [ebp-4],ecx


这是汇编代码 所以++i 和i++没有区别

热点排行