答:if…else if…else 比 if…else 复杂一点,但也很好理解。 if…else if…else 的意思就是:“如果”第一个成立,就执行第一个;“否则如果”第二个成立就执行第二个;“否则”就执行第三个。 这个应该很好理解吧,与我们平时讲话时的思维逻辑一样。
答:if 块和 else if 块本质上是互斥的! 也就是说,一旦语句1得到了执行,程序会跳过 else if 块,else if 块中的判断语句以及语句2一定会被跳过;同时语句2的执行也暗含了条件1判断失败和语句1没有执行;当然还有第3个情况,就是条件1和条件2都判断失败,语句1和语句2都没有得到执行。 编辑于 2015-01-27 10:36
答:因为在 if 和 else 之间多加了一个分号。 在C语言中,一个分号也是一条语句,叫“空语句”,就是一个什么都不执行的语句。 若在 if 和 else 中间加了一条语句,就将 else 和 if 分开了,就相当于 else 单独使用了,所以就会报错“没有和else匹配的if”。
答:区别 : 多个if语句时及时前一个if为真,后面的if也要继续判断, 如果用else if 则只有前者为假的时候它的if 才接着判断。 实例: 多个if是所有的if都会进行判断 if else if是只要有满足条件的,就不再对之后的else if进行判断 比如 a = 2; if (a==1) c=1; if (a==2) c=2; if (a%2==0) c=3; 最终结果c=