為什麼下面代碼的運行結果是a=4 b=1
a=4 b=1
條件語句也進行運算嗎?
using System;
using System.Collections.Generic;
using System.Text;
namespace 例3_04
{
class Program
{
static void Main(string[] args)
{
int a = 3, b = 2;
if (a > b && a++ > b--)
Console.WriteLine("a={0} b={1}", a, b);
if (a > b || a-- > b++)
Console.WriteLine("a={0} b={1}", a, b);
Console.ReadKey();
}
}
}
if (a > b && a++ > b--):相當於執行if(a>b && a>b)再a++;b--;因此比較成立,並且a變為3,b變為1
第二個 if (a > b || a-- > b++)中,|| 前的 a>b 成立,則if條件一定為true,|| 後語句不再執行,因此a--和b++未進行運算