可以使用char
类型值的表达式作为switch
的控制表达式。假设将字符读入char
类型到变量ch
。可以在这样的switch
中对此字符进行分类:
示例代码
#include <stdio.h>
#include <ctype.h>
int main()
{
char ch = 'a';
switch (tolower(ch))
{
case 'a': case 'e': case 'i': case 'o': case 'u':
printf("这个字符是一个元音.\n");
break;
case 'b': case 'c': case 'd': case 'f': case 'g': case 'h': case 'j': case 'k':
case 'l': case 'm': case 'n': case 'p': case 'q': case 'r': case 's': case 't':
case 'v': case 'w': case 'x': case 'y': case 'z':
printf("这个字符是一个辅音.\n");
break;
default:
printf("这个字符不是字母.\n");
break;
}
return 0;
}
执行上面示例代码,得到以下代码:
hema@ubuntu:~/book$ gcc main.c
hema@ubuntu:~/book$ ./a.out
这个字符是一个元音.
因为要使用在ctype.h
头文件中声明的函数tolower()
来将ch
的值转换为小写,所以只需要测试小写字母。