携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第20天,点击查看活动详情
👋『大家好,我是謓泽,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流>』
✔「life motto」⇢ 种一棵树最好是十年前⇿其次是现在👌
📝<juejin>个人主页⇥謓泽 的个人主页 - 文章 - 掘金 (juejin.cn)
📚<系列专栏>⇥C语言关键字🍻 - 謓泽的专栏 - 掘金 (juejin.cn)
🏆2021年度博客之星物联网与嵌入式开发TOP5 2021博客之星Top100 阿里云专家博主^星级博主 CSDN⇿掘金⇿InfoQ[创作者]
⑩ else ⇿ False
⒈描述⇢else 通常配合于 if 语句来进行使用。
⒉作用⇢else 用在 if 语句当中进行选中二中选一,也可以进行多段分支语句进行使用。
⒊注意⇢else 通常是 if 表达式 为假,则执行 else 语句块的内容。
示例代码如下👇
#include<stdio.h> int main(void) { int i = 0; if(i) { printf("泽奀1"); } else { printf("泽奀2"); } retturn 0; }代码说明⇢在上面的代码中 if() 判断语句判断变量 i 为假,因为表达式当中值为假,则执行 else 的语句块内容。
拓展知识点⇢else 的配对问题
不知道大家有没有对 if() 以及 else语句的匹配问题是否会有困惑,接下来我们就来说说它。
示例代码如下👇
#include<stdio.h> int main(void) { int x = 1; int y = 2; if (x == 10) if (y == 20) printf("你好\n"); else printf("你不好\n"); return 0; } /*相当于这样如下↓ #include<stdio.h> int main(void) { int x = 1; int y = 2; if (x == 10) { if (y == 20) printf("你好\n"); else printf("你不好\n"); } return 0; }*/
运行结果🖊
如上代码の解析⇢第一个if()条件不满足,不满足就不执行第二个if()语句的内容。那么有很多小伙伴不知道的话就会想当然的认为是打印else语句当中的内容。但是实际上它在编译器上并不会输出任何的东西。原因是因为else语句采用的是[就近原则] 所谓的就近原则 就是:在你不带花括号{}的时候,else语句离哪个if()语句越近的话永远都是和最近的if()语句进行匹配。这就是所谓的"就近原则"。那么通过这个我们就知道else语句是和if(y==20)进行匹配的,所以这里if(x==10)为假就一定不可能执行else语句,当我们吧x==10改成if(x == 1)的时候就会执行else语句当中的内容。因此一句话的总结就是else语句的匹配采用就近原则。
那么我们来看看第二个示例代码如👇
#include<stdio.h> int main(void) { int x = 1; int y = 2; if (x == 1) if (y == 20) printf("你好\n"); else printf("你不好\n"); return 0; }
运行结果🖊
你不好
在上述代码当中我们可以知道else会采取就近原则和离近的if()语句来进行匹配,当第一个判断语句为真的时候。那么第二个判断表达式条件不满足就会不执行第二个if()语句则执行else语句当中的内容。
当然,如果你不喜欢这种的话也可以用花括号{}来编写,这样也是比较推荐的,因为更方便我们去观察让人容易读懂。示例代码如下👇
#include<stdio.h> int main(void) { int x = 1; int y = 2; if (x == 1) { if (y == 20) { printf("你好\n"); } else { printf("你不好\n"); } return 0; } }这种就是比较好的编程习惯推荐都带上花括号{} (o゚v゚)ノ
大家可以按照这种代码格式来写代码,好的代码风格是必要的。