1. break能干吗?

2. break的作用

3.常见问题

3.1 跳出几层循环?

现在的问题是:如果使用break语句,那么能跳多少层循环?答案是:一层。示例如下:

#include<cstdio>
int main(){
	int value = 0;
	for(int i = 0;i< 5;i++){
		for(int j = 0;j< 5;j++){
			printf("value = %d\n",value);
			if ( j == 3){				
				value = 100;
				break;
			}
			value++;
		}		
	}
	printf("value = %d\n",value);
}

在上面的代码中,给出了两层for循环,并在内层循环中判断了一个j的值,如果j = 3则设置value = 100。如果符合条件,则直接break,否则继续循环。得到的输出结果如下:
C/C++中的break语句_C
可以很明显的看到,这里的结果虽然是value = 100,但是不能说明 break的作用直接跳出了两层循环 。根据value = 100 ... value = 103这个输出过程可以看到:break只跳出了一层for()循环。