[C/C++] 一次跳出两层for循环的几种方法
1. 单独封成一个函数
#include <stdio.h>
#include <string.h>
//判断字符串a与字符串b是否相等
int fun(char a[],char b[]){
for(int i = 0;i < strlen(a);i++){
for(int j = 0;j < strlen(b);j++){
if(a[i] != b[j]){
return 0;
}
}
}
}
int main(){
char a[] = "hello";
char b[] = "world";
printf("%d",fun(a,b));
}
2. 使用一个判断标记
#include <stdio.h>
#include <string.h>
int main(){
char a[] = "hello";
char b[] = "world";
for(int i = 0;i < strlen(a);i++){
int flag = 1;
for(int j = 0;j < strlen(b);j++){
if(a[i] != b[j]){
flag = 0;
break; //跳出第一层循环
}
}
if(!flag){
break;//跳出第二层循环
}
}
}
3. 使用goto
int main(){
char a[] = "hello";
char b[] = "world";
for(int i = 0;i < strlen(a);i++){
for(int j = 0;j < strlen(b);j++){
if(a[i] != b[j]){
goto start;
}
}
}
start:
return 0;
}
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: ElementUI使用第三方图标库Iconfont
- 下一篇: 微信小程序如何查找数组中的元素