1

我有一个 switch 语句:

switch(choice)
{
case 1:
//some compute
break;
case 2:
//some compute
break;
case 3:
//some compute
break;
case 4:
//some compute
break;
case 5:
//Call case 3
//Call case 4
//perform my own function
break;
}

如何调用案例 3 和案例 4 的函数,然后在案例 5 中执行我自己的计算。

我能做的唯一方法是运行案例 3 的相同代码,然后是案例 4,然后是我自己的计算,我想知道有没有办法直接调用案例 3 和 4,就像调用一个函数然后返回到案例 5。

4

4 回答 4

3

你不能直接这样做。您可以将案例代码放在一个函数中,然后调用该函数。

switch(choice)
{
case 1:
//some compute
break;
case 2:
//some compute
break;
case 3:
doCase3stuff();
break;
case 4:
doCase4stuff();
break;
case 5:
doCase3stuff();
doCase4stuff();
//perform my own function
break;
}
于 2012-10-13T09:17:27.393 回答
1

将您的代码放在函数/方法中,并在相应的情况下调用它们。

于 2012-10-13T09:17:26.097 回答
1

我最初的想法是你可以将它放入一个循环中,在第 5 种情况下,将选项更改为 4。或者,如果可能的话,你可以执行递归调用,将 4 作为选项传递而不是 5。

于 2012-10-13T09:17:28.913 回答
1

然后将 case 3 和 case 4 代码作为两个函数,这样你就可以在那里调用它而无需重复编写代码,否则你只能通过 goto 来实现,这不是一个好主意

于 2012-10-13T09:18:05.997 回答