GNU 扩展的 switch
标签语法
字数: 0 字 阅读时间: 0 分钟
在使用 switch-case
时,怎么判断范围?比如判断字符 A-Z
,你可能会用 if (ch >= 'A' && ch <= 'Z') {}
,这也不是不行。但是 switch-case
看上去就比 if-else
更优雅。
GNU 允许我们可以 case
范围,这样就实现了优雅的范围判断:
C
#include <stdio.h>
int main(void) {
char ch;
ch = getchar();
switch (ch) {
case '0' ... '9': {
puts("Number\n");
} break;
case 'a' ... 'z': {
puts("Lowercase");
} break;
case 'A' ... 'Z': {
puts("Uppercase\n");
} break;
}
return 0;
}