我試圖理解這段代碼如果if語句
int i = 13;
if (i<10) if (i>=5) Console.WriteLine("Case number 1");
else Console.WriteLine("case number 2");
Console.ReadLine();
背後的邏輯語句,我知道這是不是正確的代碼(因爲應該有支架,使這個應用程序的作品)。
我知道如何使這個代碼「乾淨」通過修改
但我想了解Csharp的實際上是如何表現這個erronated代碼,邏輯這段代碼的執行背後
從我所讀的內容來看,如果在這種情況下(如果> = 5),else就適用於最接近的情況。
所以,當我寫我= 3它讀取第一個如果去到第一個和控制檯給我「情況nr 2」。
當我寫i = 7
讀取第二,給我「案例NR 1」
當我寫i = 13
它給我什麼
從我的理解,同時研究它應該去的其他人,因爲2,如果公司之前已經過測試,所以從我理解的時候,它測試第一個是否應該去else,如果測試它是否應該去第二個,因爲if沒有意義。
如果它只測試第二個,如果它應該給我的病例號碼。
所以我在我的思維方式肯定是不對的,但我不能找到它爲什麼不顯示任何
這將打印什麼,因爲'else'設置爲'如果(I> = 5)' – Icepickle 2014-12-13 17:07:38
然後,當int是13,那麼它應該執行else Console.WriteLine(「case number 2」);它不是 – 2014-12-13 17:09:44
它不會到達那裏,第一個如果失敗,所以你直接進入ReadLine部分 – Icepickle 2014-12-13 17:10:49