(大家可以按标题来查找常见错误哦)
1.if 与 esle (else if)之间采用就近原则,即else是和它离的最近的if匹配的。(采用比特鹏哥的例子)AS WE KONW
当如if ,else ,else if,for ,while 等等下面只控制下面一个语句的时候
大家在书写为了快捷有时候就省略了{}
例如
#includeint main() { int a = 0; int b = 2; if(a == 1) if(b == 2) printf("hehen"); else printf("hahan"); return 0; } //打印hehe?
大家第一眼看过去打印过去程序结果是不是打印 hehe
这里就体现了格式和{}的作用
注意哦:if 与 esle (else if)之间采用就近原则,即 else 是和它离的最近的 if 匹配的
那么正确的格式
#includeint main() { int a = 0; int b = 2; if(a == 1) { if(b == 2) { printf("hehen"); } } else { printf("hahan"); } return 0; }
或者也可以采用格式对齐的方式
如下
#includeint main() { int a = 0; int b = 2; if(a == 1) if(b == 2) printf("hehen"); else// if 与 else 对齐,也可以达到方便识别代码的作用 printf("hahan"); return 0; }
这样子的话就可以避免快速阅读时候的误读
大家可能觉得这其实没啥但真的非常重要
不然就会出现像卑微小编这样子的错误
如酱紫
#includeint main() { int year ,month; scanf("%d%d",&year,&month); if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) if (month == 2) printf("29"); else if (month == 2) printf("28"); return 0;//该代码为计算2月有多少天的代码 }
正确代码
#includeint main() { int year ,month; scanf("%d%d",&year,&month); if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) { if (month == 2) printf("29"); } else if (month == 2) printf("28"); return 0;//该代码为计算2月有多少天的代码 }
希望大家能养成一个好的编程习惯
会减少很多麻烦哦
(有错误的话欢迎大家指出哦)



