if和else if C ++中的语句

时间:2014-03-10 19:50:56

标签: c++ if-statement

这有什么区别:

s = 0; if (x > 0) s++; if (y > 0) s++;

和此:

s = 0; if (x > 0) s++; else if (y > 0) s++;

非常感谢任何帮助。

4 个答案:

答案 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的值如何,第一个示例都将执行检查。