这有什么区别:
s = 0;
if (x > 0) s++;
if (y > 0) s++;
和此:
s = 0;
if (x > 0) s++;
else if (y > 0) s++;
非常感谢任何帮助。
答案 0 :(得分:9)
当您编写else if
而不是if
时,程序将不会检查else if
语句x > 0
,但是当您编写两个if
语句时,程序将无论x > 0
是否{{1}},都要检查这两个条件。
答案 1 :(得分:3)
在第一种情况下,检查两个条件,因为有两个不同的if语句。
在第二种情况下,仅当第一个条件被评估为假时才检查第二个条件。
答案 2 :(得分:1)
假设x为10且y为10.在第一组语句结束时,s将等于2.在第二组语句的末尾,s将等于1.
答案 3 :(得分:1)
第二个例子
s = 0;
if (x > 0) s++;
else if (y > 0) s++;`
仅当y
为false时,才会检查x > 0
值。无论x
的值如何,第一个示例都将执行检查。