下面的例子反映两个问题:
- 字符类型和整性之间可以相互转化,以ASC码为中介
- switch()中 case后 可以接多行语句,且 如果是字符型需要用 用‘ ’标记。
//4--13 : 小写字母转盘,求26个字母的前驱和后继
#include<stdio.h>
void main()
{
char ch,ch1,ch2;
int num;
printf("请输入字符:\n");
scanf("%c",&ch);
while (ch!='a'&&ch !='z')
{
//如果改为 ch-'1',则会输出字符型 ‘2’
printf("%c的前驱为 %c\n" ,ch,ch-1);
printf("%c的后继为 %c \n" ,ch,ch+1);
break;
}
switch(ch)
{
case 'a' :
printf("%c的前驱为:z\n",ch);
printf("%c的后继为:b\n",ch);
break;
case 'z' :
printf("%c的前驱为:y\n",ch);
printf("%c的后继为:a\n",ch);
}
/*
if(ch=='z')
{
printf("%c的前驱为:y\n",ch);
printf("%c的后继为:a\n",ch);
}
if(ch=='a')
{
printf("%c的前驱为:z\n",ch);
printf("%c的后继为:b\n",ch);
}
*/
}