嵌套的 do while 循环

Nested do while loop

所以我一直在尝试做一个有更多子菜单的菜单。主菜单是一个 do while 循环,所以如果用户试图输入不相关的输入,它会让他重新输入。我想知道我是否可以对子菜单做同样的事情,但即使我写了一个有效的输入,子菜单循环也会继续进行。这是代码:

do
{

    printf("Enter your choice: ");
        scanf(" %d", &choice1);
        switch (choice1)
        {



            case (1) :

             do {
                    printf("4 printfs of choices");


                    printf("Enter your choice: ");
                        scanf(" %d", &choice2);


                switch (choice2)
                        {

                case (1):
                        {
                        stuff
                        }
                    break;

               case (2) :
                       {
                        stuff
                       }
                    break;

              case (3) :
                       {
                        stuff
                       }
                    break;

              case (4) :
                       {
                         exit(0);
                       }

               default :
                       {
                         printf("Sorry that is not a valid choice!\n");
                       }
                       break;
                }
            } while ((choice2 > 0) || (choice2 < 5));
        break;

主循环还有一个 while 结束,但不是 我的担忧

(choice2 > 0) || (choice2 < 5)

始终为真,您的意思可能是 &&

我想你想要while ((choice2 < 1) || (choice2 > 4));