1、break介绍
#include <stdio.h>
int
main
()
{
int
i
=
1
;
while
(
i
<=
10
)
{
if
(
i
==
5
)
{
break
;
}
printf
(
"%d "
,
i
);
i
=
i
+
1
;
}
return
0
;
}
![](https://i-blog.csdnimg.cn/blog_migrate/21eabc5da52eba915d0a15044ed2a2e5.png)
i加到5时会执行break,在循环中只要遇到break会直接终止后期所有的循环。所以while中break是用于永久终止循环。
2、continue介绍
#include <stdio.h>
int
main
()
{
int
i
=
1
;
while
(
i
<=
10
)
{
if
(
i
==
5
) {
continue
;
}
printf
(
"%d "
,
i
);
i
=
i
+
1
;
}
return
0
;
}
虽然结果跟break一样,但实际去一步一步调试就会发现代码在死循环。因为continue是用于终止本次的循环的,也就是continue后面的代码都不执行,重新回到循环开头while(i<=10) 在再向下走开始下一次循环。而我这个实例代码因为 i = i+1;在continue下面,所以i一直都是5,所以会在while(i<=10) 和continue之间不断循环。
#include <stdio.h>
int
main
()
{
int
i
=
1
;
while
(
i
<=
10
)
{
i
=
i
+
1
;
if
(
i
==
5
) {
continue
;
}
printf
(
"%d "
,
i
);
}
return
0
;
}
![](https://i-blog.csdnimg.cn/blog_migrate/8d9b0f6e1548b7f3329e180d446845e9.png)
其实把变量的变化语句上调到if语句上面即可,代码会跳过5,继续往后打印。