c - 回到默认的 switch (getch()) 开头? (C)

标签 c switch-statement getch

我目前正在用 C 编写代码并使用 switch 和 getch, 像这样:

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

            case 19: 
            //something else
            break;

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

        }

但是,我想在我们进入“默认”的情况下循环我的开关。有什么存在吗?或者我应该做一个“while (x!=10)”——例如——循环我的整个开关,如果我进入默认状态,x==10??

提前致谢!

最佳答案

如果你觉得 goto 令人反感,你可以创建一个虚拟循环并在 default: 之后使用 continue 来强制下一个循环迭代:

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

关于c - 回到默认的 switch (getch()) 开头? (C),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33985534/

相关文章:

c - getch 期望额外的字符

c - 函数A调用了函数A?

python - 如何从 process.Popen() 引发事件 getche() - 不监视标准输入

c - 文件描述符限制和默认堆栈大小

c - 链接多个 C 源文件

if-statement - 做 "if none of the above"的优雅方式是什么?

c - switch 内嵌套 case 语句

bash - 将字符串后缀与 case 语句相匹配

c - LZ78算法-填充字典后覆盖字典?

c - free 和 malloc 在 C 中是如何工作的?