如何离开多级循环
相信大家都应该做个一个很经典的题目,叫做百钱买百鸡,这是一个很经典的关于for循环应用的题目,我们下面看到的题目与这个类似,我们需要计算出1角硬币和2角硬币和5角硬币来组成几元钱具有多少组合。废话不多说我们来开始写出下面的代码
1 |
|
从上面的代码我们可以看出,如果我们想在得到一组结果之后就退出所有循环,就必须使用break; , 但是我们的break只能跳出一个循环,因此我们就只能在外面的循环中进行一个判断 如果exit的值发生了改变,那么就执行判断,这样就做到了,在得到一组结果之后就退出循环,然后就结束掉整个程序,事实上多级的break是非常的不方便的,我们也可以使用goto来解决这个问题。
1 |
|
这段代码没有使用break而是使用了goto,虽然goto在c语言中的名声可能不太好,但是在这种多重的循环之中非常大的适合使用goto来跳出这样多重的循环,但是也正是应为goto的存在可能会导致我们的代码让别人难以理解,所以除了在这种多级循环的场合之外尽量别使用goto。