吾爱程序员:这里有好玩的游戏和软件
当前位置:首页C语言教程 → 在 C/C++ 中的 switch case 中使用范围

在 C/C++ 中的 switch case 中使用范围

来源:网络 | 更新时间:2022-01-14 08:25:15
你们都熟悉C/C++ 中的switch case,但是你知道在 case 语句中可以使用数字范围而不是单个数字或字符。
  • 这是 GNU C 编译器的案例范围扩展,而不是标准 C 或 C++
  • 您可以在单个 case 标签中指定一系列连续值,如下所示:
case low ... high:
  • 它可用于 ASCII 字符代码的范围,如下所示:
case 'A' ... 'Z':
  • 您需要在椭圆周围写空格……。例如,这样写:
// Correct  -   case 1 ... 5:
// Wrong -    case 1...5:
// C program to illustrate
// using range in switch case
#include <stdio.h>
int main()
{
int arr[] = { 1, 5, 15, 20 };

for (int i = 0; i < 4; i++)
{
switch (arr[i])
{
case 1 ... 6:
printf("%d in range 1 to 6n", arr[i]);
break;
case 19 ... 20:
printf("%d in range 19 to 20n", arr[i]);
break;
default:
printf("%d not in rangen", arr[i]);
break;
}
}
return 0;
}
输出: 
1 in range 1 to 6
5 in range 1 to 6
15 not in range
20 in range 19 to 20
时间复杂度: O(n),其中 n 是数组 arr的大小。 空间复杂度: O(1) 练习:您可以通过修改 char 数组和 case 语句来尝试上面的 char 数组程序。 错误条件:
  1. low > high :编译器给出错误信息。
  2. 重叠case值:如果案例标签的值在 switch 语句中已经使用的案例范围内,编译器会给出错误消息。
 

最新文章

热点资讯

手游排行榜

CopyRight 2020-2030吾爱程序员

鄂ICP备2021004581号-8

本站资源收集于网络,如有侵权请联系我们:35492删除0109@qq.com