C 语⾔switchcase 语句的case 后⾯不能接范围?
C 语⾔switch case 语句的case 后⾯不能接范围?
⾸先⼀般来说,教科书或者⼤部分资料都是说case 后⾯只能接整型常量或常量表达式。也确实在标准C 中确实不能接范围表达式。
但是在开发中却碰见了case 1 … 3 (省略号两侧有空格)这种接范围的⽤法。
经查询可知,GNU C 对标准作了扩展,⽀持case 后接⼀个范围值。 具体可点击 查看。⽤GCC 编译器编译此格式C 程序运⾏通过。如下所⽰:
TieTouXiaoGe@tst-vps:~/demo$ cat  demo.c #include "stdio.h"void main (){    int TEST_COUNT ;    scanf ("%i", &TEST_COUNT );    switch (TEST_COUNT ){    case  1 ... 3:        printf ("\n");        break ;    case  4 ... 6:        printf ("\n");        break ;    }}TieTouXiaoGe@tst-vps:~/demo$ gcc demo.c TieTouXiaoGe@tst-vps:~/demo$ ./a.out 2successful ...TieTouXiaoGe@tst-vps:~/demo$ ./a.out 5failed ...TieTouXiaoGe@tst-vps:~/demo$ ls a.out  demo.c TieTouXiaoGe@tst-vps:~/demo$ 1
2
3
4
5
6
7
8
9
10
11
12switch的用法c语言
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。