if判断语句一般与else一起使用,形成分支选择语句
但是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;
}
你觉得这段代码运行结果是什么呢?
在屏幕上打印:hehe ? 打印:haha ? 还是两个一起打印?
其实什么也不会打印。
我们来分析一下,看下图:
你看懂了吗?
总结一下;else的匹配: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;
}
braak介绍
#include<stdio.h>
int main()
{
int i = 0;
while (i <= 10)
{
if (i == 5);
break;
printf(“%d\n”, i);
i++;
}
return 0;
}
结合该代码总结:
在循环中遇到break,就停止后期的所有循环,直到终止循环。
注:while中的break是用于永久终止循环的。
continue介绍
continue是用于终止本次循环的,也就是本次循环中continue后面的代码就不会再执行,而是直接跳转到while语句的判断部分。进行下一次循环的入口。
**#include<stdio.h>
int main()
{
int a = 0;
while (a < 10)
{
if (a == 5)
continue;
printf(“%d\n”, a);
a++;
return 0;
}**
例如该代码 打印出来的结果则为1 2 3 4
即当a取到5时终止掉本次的循环而且continue后面的代码也不会执行。
注: scanf和printf为一组输入输出类型
getchar和putchar也为一组输入输出类型
scanf默认读取到空格就结束