易百教程

Switch使用char类型值

以下switch语句由char类型的变量控制。

用户输入字符。将提示用户为一个操作输入值:yY,为另一个操作输入nN

示例代码

#include <stdio.h>

int main(void)
{
  char answer = 0;// 存储输入的字符

  printf("请输入 Y 或 N: ");
  scanf(" %c", &answer);

  switch (answer)
  {
  case 'y': case 'Y':
    printf("你回答是肯定的.\n");
    break;

  case 'n': case 'N':
    printf("你回答是否定的.\n");
    break;
  default:
    printf("你没有正确回答. . .\n");
    break;
  }
  return 0;
}

执行上面示例代码,得到以下结果:

hema@ubuntu:~/book$ gcc main.c
hema@ubuntu:~/book$ ./a.out
请输入 Y 或 N: Y
你回答是肯定的.

怎么运行的?

以下三行定义了char类型变量和读取用户输入。

  char answer = 0;// 存储输入的字符

  printf("请输入 Y 或 N: ");
  scanf(" %c", &answer);

switch语句使用answer中存储的字符来选择一个case

switch(answer)
{
      . . .
}

switch中的第一种情况验证大写或小写字母Y

case 'y': case 'Y':
    printf("你回答是肯定的.\n");
    break;

yY都将导致执行相同的printf()。如果输入的字符与任何case值不对应,则选择默认case

default:
    printf("你没有正确回答. . .\n");
    break;