while循环问题
class average
{
     public static void Main()
     {
         int ttl = 0; //variable to store the running total
         int nbr = 0; //variable for individual numbers
         int ctr = 0; //counter
         System.Random rnd = new System.Random(); //random number
         while (ctr < 10)
         {  
         //Get random number
             nbr = (int)rnd.Next(1, 11);
             System.Console.WriteLine("Number {0} is {1}",(ctr+1),nbr);
             ttl += nbr; //add nbr to total
             ctr++; //increment counter
         }
         System.Console.WriteLine("\nThe total of the {0} numbers is {1}", ctr, ttl);
         System.Console.WriteLine("\nTHe average of the numbers is {0}",ttl/ctr);
     }
}
当时ctr=0,条件满足循环,到System.Console.WriteLine("Number {0} is {1}",(ctr+1),nbr);ctr=1了,循环到ctr++; 时 ,ctr=2,条件满足,继续循环,到System.Console.WriteLine("Number {0} is {1}",(ctr+1),nbr)时,运行打印出:Number 2 is 4;
为什么(ctr+1)会是“2”?不是在第一次循环时,循环到ctr++时,ctr=2了吗??这样满足的话,到(ctr+1)不是“3”吗??
不明白哩~~~
------解决方案--------------------
第一次循环
ctr = 0
bbr = 5
System.Console.WriteLine("Number {0} is {1}",(ctr+1),nbr); 输出Number 1 is 5
ttl = 5  
ctr++ 后= 1第二次循环
ctr = 1
bbr = 4
System.Console.WriteLine("Number {0} is {1}",(ctr+1),nbr); 输出Number 2 is 4
ttl = 9  
ctr++ 后 = 2
ctr = 2
bbr = 1
System.Console.WriteLine("Number {0} is {1}",(ctr+1),nbr); 输出Number 3 is 1
ttl = 10  
ctr++ 后 = 3
搂主看错了循环