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