源自:https://www.runoob.com/cprogramming/c-exercise-example31.html
关键是switch关键词上面一个getchar();至于为啥要添加这个才能正常运行,尚且不知道原因。
#include<stdio.h>
int main()
{
char i,j;
printf("请输入第一个字母:\n");
scanf("%c",&i);
getchar();//scanf("%c",&j);的问题,第二次是读入的一个换行符,而不是输入的字符,因此需要加一个getchar() 吃掉换行符
switch(i)
{
case 'm':
printf("monday\n");
break;
case 'w':
printf("wednesday\n");
break;
case 'f':
printf("friday\n");
break;
case 't':
printf("请输入下一个字母\n");
scanf("%c",&j);
if (j=='u') {printf("tuesday\n");break;}
if (j=='h') {printf("thursday\n");break;}
case 's':
printf("请输入下一个字母\n");
scanf("%c",&j);
if (j=='a') {printf("saturday\n");break;}
if (j=='u') {printf("sunday\n"); break;}
default :
printf("error\n"); break;
}
return 0;
}
此C程序演示了如何使用switch语句根据用户输入的字母进行不同响应。用户输入一个字母后,程序会判断并打印对应的一天名称。如果输入't',则需要额外输入一个字母来确定是星期二还是星期四。程序中加入getchar()是为了消除scanf()在读取字符时留下的换行符影响。
661





