我试图理解这段代码如果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