只有当满足“条件”时(即条件表达式的结果为true时),才会执行语句或语句块2。
不满足“条件”时(即条件表达式的结果为false时),执行If语句后面的语句3。
在C++语言中,条件是用条件表达式表示的。所谓条件表达式指的是一个结果为bool值的表达式,
在实际编程中,经常会出现的一个错误是将“a = b”当成“a == b”。前者是一个赋值表达式,其结果是b的值,而后者是一个判断a和b是否相等的条件表达式,其结果是一个bool值。由于存在隐式类型转换关系,所以在编译时并不会报告错误,只有等到运行时才可能出现意料之外的结果。
由于其他数据类型和bool型数据间存在隐式数据类型转换的关系,所以当用其他表达式作为条件表达式时,虽然其结果不是bool型,但仍然可以使用。例如,对于表达式“a + b”,如果其结果值是0,则转换成条件表达式的结果就是false;如果其结果值是非0,则转换成条件表达式的结果就是true。