刚刚学C#,遇到了一个问题,不太明白,向大家请教一下:
代码是:using System;
using System.Collections.Generic;
using System.Text;namespace ConsoleApplication4
{
    class Program
    {
        static void Main(string[] args)
        {
            for (int i = 1; i <= 10; i++)
            {
                Console.WriteLine(i);
            }
            Console.ReadKey();
        }
    }
}
这段代码测试结果是显示从1到10的数字。但是把里面的"i++"改成"++i"结果还是一样,从1到10,按书上关于++在前面的说法,改了以后应该是显示从2到10才对,这是为什么啊??

解决方案 »

  1.   

    这个for循环里++i没有体现出来你不要放在循环里试一下就知道了
      

  2.   

    你可以把那个for循环等价的看成下面的while循环语句段:
    int i = 1;
    while(i <= 10)
     {
          Console.WriteLine(i);
          
          i ++; //因为打印i的语句在i自增之前,所以此处无论是"i++"还是"++i",结果都是打印从1到10
     }
      

  3.   

    int i = 1;
    while(i <= 10)
     {
          Console.WriteLine("++i=" + (++i) + ";i++=" + (i++));
          //++i是直接给i+1;
          //i++是先调用i的值在执行i+1
     }