2012年9月6日 星期四

i++ 跟 ++i 的區別方式

今天看到一個問題如下:

using System;

  class Test
  {
     public static void Main()
     {
       int x = 3;
       int y = x++;
       Console.WriteLine(y);
       y=++x;
       Console.WriteLine(y);
     }
  }

第一個 y 跟第二個 y 的答案分別為何?

原來就是先+跟後+的不同
但是還是必須要對問題裡的++看得仔細一點
免得解題的時候會錯亂

using System;

  class Test
  {
     public static void Main()
     {
       int x = 3;
       int y = x++; => y=x, x=x+1 , y=3, x=3+1=4 , x的值先給y, x再自行做運算
       Console.WriteLine(y);
       y=++x; => y=(x+1),  y=5 , x先自行做完運算, 再把結果給y , 上一題 x已經等於4, 4+1=5
       Console.WriteLine(y);
     }
  }

結論:程式不等於數學

沒有留言:

張貼留言