关于C++的一些面试有关问题请大家来讨论

关于C++的一些面试问题请大家来讨论
if(条件)
{
    for(int   i=0;i <n;i++)
        操作1..
}
else
{
      for(int   i=0;i <n;i++)
        操作2..
}和
    for(int   i=0;i <n;i++)
        if(条件)
            操作1..
        else
              操作2..
他们各自的优缺点是什么?谢谢


------解决方案--------------------
前一个效率高,程序不简洁
第二个程序简洁,但效率底,因为它比前一个程序多执行了n-1次,并且编译器对它不好做优化
------解决方案--------------------
林锐
《高质量C++编程》
上的题