回到循环C的开始

时间:2014-10-20 07:58:25

标签: c loops return

我想返回循环的开头并让用户输入另一个输入。

这就是我所拥有的,但我不断反复重复错误信息。

我将如何返回,以便用户可以输入参数

printf("Enter a option\n");
scanf("%d", &option);

while (option != 1 || option != 2 || option != 3 || option != 4)
{
    if (option == 1)
    {
        option1(...);
        break;
    }
    else if (option == 2)
    {
        option2(...);
        break;
    }
    else if (option == 3)
    {
        option3(...);
        break;
    }
    else if (option == 4)
    {
        option4(...);
        break;
    }
    else
    {
        printf("\nPlease enter a correct option\n");
        continue;
    }
}

4 个答案:

答案 0 :(得分:4)

只需重新排列逻辑,例如:

do {
printf("Enter a option\n"); 
scanf("%d",&option);

if(option == 1){
    option1(...);
    break;
}

else if(option == 2){
    option2(...);
    break;
}                       

else if(option == 3){
    option3(...);
    break;
}

else if(option == 4){
    option4(...);
    break;
}

else{
    printf("\nPlease enter a correct option\n");
    continue;
}

}
while(true);

现在你的代码只对scanf执行一次,然后迭代相同的结果,而不是每次开始循环时都必须读取该值。

答案 1 :(得分:1)

int option;

while(1)
{
  printf("Enter a option\n");
  scanf("%d",&option);

  if(option == 1){
    printf("option1\n");
    break;
  }

  else if(option == 2){
    printf("option2\n");
    break;
  }

  else if(option == 3){
    printf("option3\n");
    break;
  }

  else if(option == 4){
    printf("option4\n");
    break;
  }

  else{
    printf("\nPlease enter a correct option\n");
    continue;
  }
}

答案 2 :(得分:0)

使用do..while与printf / scanf里面。

do {

   printf("Enter a option\n"); 
   scanf("%d",&option);

   your if/else statements here... 

} while(true);

答案 3 :(得分:0)

你应该改变你的循环来做。

 do
        {
             printf("Enter a option\n"); 
            scanf("%d",&option);

            if(option == 1){
                option1(...);
            }

            else if(option == 2){
                option2(...);
            }                       

            else if(option == 3){
                option3(...);
            }

            else if(option == 4){
                option4(...);
            }


            else{
                printf("\nPlease enter a correct option\n");
                continue;
            }

        }while(option != 1 || option != 2 || option != 3 || option != 4);