输出的是7
老师,我弄好几次,输出的都是7.求讲解
根据 else 和 if 的配对原则推断,第二个 else 与第三个 if 配对,第一个 else 与第二个 if 配对,第一个 if 没有与之配对的 else 。所以,当第一个 if 的条件为 false 时,不会输出任何内容。
我们可以把第二个 if 及其分支用 {} 括起来,代码片段如下:
if (x >= y) { if (x >= 5) Console.WriteLine("5"); } else if (y >= 6) Console.WriteLine("6"); else Console.WriteLine("7");
由于第二个 if 进入了 {} 里面,第一个 else 不能与之配对(因为 else 不在那个{}中),只好与第一个 if 配对,程序逻辑就发生了改变。
举报