C语言 简单问题 这道题 当if语句成立时 该如何跳出嵌套的3个for循环呢(我知道用break,但不知道该放哪)

#include<stdio.h>intmain(){intx,y,z;for(x=1;x<=9;x++){for(y=1;y<=9;y++){for(z=1;z<=9;... # include <stdio.h>
int main ()
{
int x,y,z;
for ( x=1;x<=9;x++)
{
for (y=1;y<=9;y++)
{
for (z=1;z<=9;z++)
if (532==(x+y)*100+(z+y)*10+2*z)
;

}
}

printf("x=%d,y=%d,z=%d\n",x,y,z);
return 0

}
展开
 我来答
百度网友2018359
推荐于2016-02-20 · TA获得超过3494个赞
知道大有可为答主
回答量:3486
采纳率:73%
帮助的人:1429万
展开全部

break只能跳出最近的一个循环

这种情况我一般设置标志变量, 在每个循环末判断一下标志变量, 再决定是否跳出循环, 也可以用goto

	int x,y,z,flag=0; //flag为标志变量 
    for( x=1;x<=9;x++)
    {
        for(y=1;y<=9;y++)
        {
            for(z=1;z<=9;z++)
            {
if (532==(x+y)*100+(z+y)*10+2*z)
{
flag=1;
break;
}
            }
            ......//第二个for中的其它代码 
if(flag==1)
{
break;//跳出第二个for 
}
        }
        ......//第一个for中的其它代码 
        if(flag==1)
{
break;//跳出第一个for 
}
}
    printf("x=%d,y=%d,z=%d\n",x,y,z);
return 0;
微俊king
2015-11-13 · TA获得超过576个赞
知道小有建树答主
回答量:626
采纳率:50%
帮助的人:564万
展开全部
# include <stdio.h>
int main ()
{
  int x,y,z,flag = 0;
        for  ( x=1;!flag && x<=9;x++)
        {
            for (y=1; !flag && y<=9;y++)
            {
                for (z=1;z<=9;z++)
if (532==(x+y)*100+(z+y)*10+2*z){flag = 1; break;}

            }       
        }
             printf("x=%d,y=%d,z=%d\n",x,y,z); 
             return 0
 }
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhang2599321
2015-11-13 · 超过29用户采纳过TA的回答
知道答主
回答量:110
采纳率:0%
帮助的人:34.9万
展开全部
break只能跳出最近的一个循环,如果想要跳出多层循环可以用 goto语句,或者加个变量什么的在外出循环时判断下,一层一层的break;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式