打印所有 switch 语句
Printing all switch statements
我知道如何在 C 中打印,但我只是想知道是否有一种快速的方法可以一次执行所有 case 语句,这样我就不必再次 printf
所有菜单选项。我希望用户在从菜单中选择选项之前先查看菜单。
int main(int argc, char* argv[])
{
int menu;
printf("Enter option : \n" );
scanf(" %c", &menu);
switch(menu)
{
case '1':
printf("1. Where do you live \n");
break;
case '2':
printf("2. How old are you \n");
break;
case '3':
printf("3. What is your name \n");
break;
case '4':
printf("4. Where do you live \n");
break;
}
return 0;
};
如果不对其进行(主要)修改,就无法执行 switch
的所有情况。
但是对于您的情况,我认为您不需要这样做。将所有菜单 printf
向上移动到 "Enter option" printf
上方,以便在提示出现之前显示菜单。您根本不想在 switch
语句中包含 printf
! switch
将用于处理用户的响应。
有办法做到这一点。它相当丑陋,但您可以使用故意失败来执行所有案例语句,只要您强制它从您的第一个案例开始。
if (print_all)
{
menu = '1';
}
switch(menu)
{
case '1':
printf("1. Where do you live \n");
if (!print_all)
break;
case '2':
printf("2. How old are you \n");
if (!print_all)
break;
case '3':
printf("3. What is your name \n");
if (!print_all)
break;
case '4':
printf("4. Where do you live \n");
if (!print_all)
break;
}
您可能还想查看 Duff 的设备,它以更奇特的方式使用开关。
我知道如何在 C 中打印,但我只是想知道是否有一种快速的方法可以一次执行所有 case 语句,这样我就不必再次 printf
所有菜单选项。我希望用户在从菜单中选择选项之前先查看菜单。
int main(int argc, char* argv[])
{
int menu;
printf("Enter option : \n" );
scanf(" %c", &menu);
switch(menu)
{
case '1':
printf("1. Where do you live \n");
break;
case '2':
printf("2. How old are you \n");
break;
case '3':
printf("3. What is your name \n");
break;
case '4':
printf("4. Where do you live \n");
break;
}
return 0;
};
如果不对其进行(主要)修改,就无法执行 switch
的所有情况。
但是对于您的情况,我认为您不需要这样做。将所有菜单 printf
向上移动到 "Enter option" printf
上方,以便在提示出现之前显示菜单。您根本不想在 switch
语句中包含 printf
! switch
将用于处理用户的响应。
有办法做到这一点。它相当丑陋,但您可以使用故意失败来执行所有案例语句,只要您强制它从您的第一个案例开始。
if (print_all)
{
menu = '1';
}
switch(menu)
{
case '1':
printf("1. Where do you live \n");
if (!print_all)
break;
case '2':
printf("2. How old are you \n");
if (!print_all)
break;
case '3':
printf("3. What is your name \n");
if (!print_all)
break;
case '4':
printf("4. Where do you live \n");
if (!print_all)
break;
}
您可能还想查看 Duff 的设备,它以更奇特的方式使用开关。