这可能是一个真的愚蠢的问题,如果是的话,请原谅我,但我之前一直在寻找答案,但我没有找到任何答案。是否可以写出类似
的内容case 'i':
do
{
root=insert(root,code[1]);
scanf("%s",code);
}while (code[0]=='i');
break;
在C?感谢您的回答,如果这是一个愚蠢的问题,请再次抱歉。祝你有愉快的一天:)
答案 0 :(得分:0)
是的,你可以,但对于非常短的循环,它可以迅速使你的代码不可读。
在这种情况下,最好将循环放入函数并从案例中调用它。这简短,简洁,易于维护。
另一个我觉得值得做的是
switch (ch)
{
case 'i':
{
// do stuff
MainLoop();
break;
}
}
只是因为它可以使花括号整洁干净,但这可能会让很多人烦恼!
答案 1 :(得分:0)
如果您的项目有必要,那么您可以使用它。 使用它没有害处。编译器不会抛出任何错误或警告。 如果小心创建,它将按预期工作。
但它可能会使您的代码无法读取,而且还会增加缩进的级别。
您可以创建一个具有循环功能的函数。它可以提高代码的可读性。
例如,
case 'i':
func();
break;