请帮我看看这段代码为什么是死循环,谢谢!  
class Program
    {
        static void Main(string[] args)
        {
            int n = 4;
            int sum=0;
            for (int i = 0; i < n; i++)
            {
                if (i / 2 == 0)
                {
                    i = i * (-1);
                }
                sum += i;
            }
            Console.Write(sum);
        }
    }

解决方案 »

  1.   

    逻辑错误,
     if (i / 2 == 0)
                    {
                        i = i * (-1);
                    }
    i=i*(-1);这样i永远小于n
      

  2.   

    把if (i / 2 == 0)
    改成if (i / 2.0 == 0)
      

  3.   

    OH MY GOD~ 趣味题...项目中根本不会用...
      

  4.   

    for (int i = 0; i < n; i++)
                {
                    if (i / 2 == 0)
                    {
                        i = i * (-1);
                    }
                    sum += i;
                }i永远是0。。 当然会死循环了。。
      

  5.   

    看看i的变化:
    i=0
    i=0;sum=1;
    i=0;
    ...
    .......