c语言中怎样替换goto语句?

代码货栈 论文问答 1

如下代码,在3层for循环里,当条件2满足时,就要跳出这3层循环,重新执行while循环,这里用的是goto语句来跳出的,条件2不满足就要执行goto过去的代码后再重新while循环,要怎么改成不用goto语句的呢?

 while(1){
                if(条件1){
                        //跳出while循环
                        break;
                }
                for(i=0; i<7; i++)
                {
                    for(j=0; j<7; j++)
                    {
                        for(k=0; k<7; k++)
                        {
                            if(条件2)
                            {
                                goto a;
                            }
                        }
                    }
                }
                a:
                if(i == 7)
                {
                    ...
                } else {
                    break;
                }

 }

回复

共1条回复 我来回复
  • 毕设海岸
    这个人很懒,什么都没有留下~
    评论

    我觉得你已经进入了思维的误区了,C语言在当初开发过程中既然设定了有goto语句这个功能,就是为了满足一些特殊场景,在这种场景中,使用goto语句能够很好的解决问题,并且使代码简洁,只不过在新手开发过程中,理解代码执行的流程能力较弱,此时使用goto语句容易引起流程混乱,所以书上说尽量不要使用goto语句。

    但是并没有说不能使用,你只需要把跳转语句标识写的标准、易懂一些就行,比如 FUNNAME goto break_sig,这样才能使程序更加健壮。

    0条评论

发表回复

登录后才能评论