两重循环,怎么跳出外层循环
两重循环,如何跳出外层循环
------解决方案--------------------
if(b==6) //b为6时,找到了对应的i,这时候如何跳出for循环呢
{
printf("请确认您录入的身份证号是否为一下地区:");
printf("省份:%s\t",P[i].province);
printf("市:%s\t",P[i].city);
printf("县:%s\n",P[i].county);
i=3097;
break;
}
------解决方案--------------------
哥,你的break不就是在一层FOR循环里面吗?直接就跳出FOR循环了嘛。你是不是写错了?假设你是这样:
bool bFind = false; //加一个变量
for(i=0;i<3097;i++)
{
while(j<6) //判断输入的身份证前六位地区码与系统中那个地区码相同
{
a=P[i].num[j]==suiji.ID[j]?1:0;
b+=a;
j++;
if(b==6) //b为6时,找到了对应的i,这时候如何跳出for循环呢
{
printf("请确认您录入的身份证号是否为一下地区:");
printf("省份:%s\t",P[i].province);
printf("市:%s\t",P[i].city);
printf("县:%s\n",P[i].county);
bfind = true; // 修改变量值
break;
}
}
if(bFind) // 外层循环判断
{
break;
}
}
for(i=0;i<3097;i++)
{
while(j<6) //判断输入的身份证前六位地区码与系统中那个地区码相同
{
a=P[i].num[j]==suiji.ID[j]?1:0;
b+=a;
j++;
}
if(b==6) //b为6时,找到了对应的i,这时候如何跳出for循环呢
{
printf("请确认您录入的身份证号是否为一下地区:");
printf("省份:%s\t",P[i].province);
printf("市:%s\t",P[i].city);
printf("县:%s\n",P[i].county);
break;
}
}
------解决方案--------------------
if(b==6) //b为6时,找到了对应的i,这时候如何跳出for循环呢
{
printf("请确认您录入的身份证号是否为一下地区:");
printf("省份:%s\t",P[i].province);
printf("市:%s\t",P[i].city);
printf("县:%s\n",P[i].county);
i=3097;
break;
}
------解决方案--------------------
哥,你的break不就是在一层FOR循环里面吗?直接就跳出FOR循环了嘛。你是不是写错了?假设你是这样:
bool bFind = false; //加一个变量
for(i=0;i<3097;i++)
{
while(j<6) //判断输入的身份证前六位地区码与系统中那个地区码相同
{
a=P[i].num[j]==suiji.ID[j]?1:0;
b+=a;
j++;
if(b==6) //b为6时,找到了对应的i,这时候如何跳出for循环呢
{
printf("请确认您录入的身份证号是否为一下地区:");
printf("省份:%s\t",P[i].province);
printf("市:%s\t",P[i].city);
printf("县:%s\n",P[i].county);
bfind = true; // 修改变量值
break;
}
}
if(bFind) // 外层循环判断
{
break;
}
}