相关疑难解决方法(0)

C - 具有多个案例编号的开关

所以我的教授要求我们创建一个switch语句.我们只允许使用"SWITCH"语句来执行该程序.他希望我们输入一个数字然后显示它,如果它在数字范围内,将显示如下所示的公文包编号.现在......我知道对于这种类型的程序,使用IF语句更容易.做案例1:案例2:案例3 ......案例30将起作用,但由于数字范围将花费太多时间.

#include <stdio.h>
main()
{
      int x;
      char ch1;
      printf("Enter a number: ");
      scanf("%d",&x);
      switch(x)
      {
                 case 1://for the first case #1-30
                 case 30:
                      printf("The number you entered is >= 1 and <= 30");
                      printf("\nTake Briefcase Number 1");
                      break;         
                 case 31://for the second case #31-59
                 case 59:
                      printf("The number you entered is >= 31 and <= 59");
                      printf("\nTake Briefcase Number 2");
                      break;                 
                 case 60://for the third case #60-89
                 case 89:
                      printf("The number you entered is …
Run Code Online (Sandbox Code Playgroud)

c case switch-statement

14
推荐指数
3
解决办法
8万
查看次数

对两个案例标签使用相同的值与对单个案例使用多个案例标签有什么区别?

我正在阅读Bjarne的《使用C ++的编程和原理》

我遇到了有关switch的以下详细信息:

您可以为一个案例使用多个案例标签。

两个案例标签不能使用相同的值。

我想我很清楚2.一个。它应该意味着:

switch (a) {

  case 'c':{//some code} 

  case 'c':{//some (different) code} 
} 
Run Code Online (Sandbox Code Playgroud)

合法的。

但是,我不确定第一个是否意味着,如果案例1和案例2等不同,那么我可以有任意数量的案例(当然,它们是常量表达式)还是意味着我可以有任意多个案例,但是其中一些案例是相同的

我发现了与此类似的问题: C开关情况下的多个标签值

我的解释正确吗?如果不是,我想念或弄错了什么?

c++ case switch-statement

2
推荐指数
1
解决办法
105
查看次数

标签 统计

case ×2

switch-statement ×2

c ×1

c++ ×1