回到默认的开关(getch())的开头?(C)

Aca*_*jou 2 c getch switch-statement

我目前正在用C编写并使用switch和getch,如下所示:

c=getch(); 
switch(c)
        {
            case 17: 
            //something
            break;

            case 19: 
            //something else
            break;

            default: //loop to get the right "case"
            break;

        }
Run Code Online (Sandbox Code Playgroud)

但是,我想在我们进入"默认"的情况下循环我的开关.有什么事吗?或者我应该做一个"while(x!= 10)" - 例如 - 循环我的整个开关,如果我进入默认值,x == 10 ??

非常感谢提前!

use*_*342 6

如果您发现goto令人反感,您可以创建一个虚拟循环并使用continueafter default:强制下一个循环迭代:

do {
  c = getch();
  switch(c) {
    case 17: 
      //something
      break;
    // ...
    default:
      continue;
  }
} while (false);
Run Code Online (Sandbox Code Playgroud)