首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

一个奇怪的C程序,请高手帮助.解决思路

2012-02-08 
一个奇怪的C程序,请高手帮助..我运行此程序,当想输出Sunday,Tuesday时,却输不出来,别的可以.不知为什么??

一个奇怪的C程序,请高手帮助..
我运行此程序,当想输出Sunday,Tuesday时,却输不出来,别的可以.不知为什么??我是用VC++6.0编译的..
#include<stdio.h>
main()
{
char letter;
printf("please input letter:\n");
while((letter=getchar())!='Y')
{
switch(letter)
{
case 'S':printf("input the seconde letter:");
if((letter=getchar())=='u')printf("Sunday\n");//打不出来;
else if((letter=getchar())=='a')printf("Saturday\n");
else printf("input error\n");
break;
case 'M':printf("Monday\n");break;
case 'T':printf("input the seconde letter:");
if((letter=getchar())=='u')printf("Tuesday\n");
else if((letter=getchar())=='h')printf("Thursday\n");
else printf("input error\n");
break;
case 'W':printf("Wednesday\n");break;
case 'F':printf("Friday\n");break;
default:printf("input error ,again:\n");
}
}
}

[解决办法]

C/C++ code
main() {     char letter;     printf("please input letter:\n");     while((letter=getchar())!= 'Y ')     {             switch(letter)         {         case  'S':            printf("input the seconde letter:");             //输入一个字符后,要把后面的回车过滤掉            getchar();            letter = getchar();            //你的逻辑有点问题,            //每次去一个字符比较,不是去第一个字符比较                        if(letter == 'u')                 printf("Sunday\n");//打不出来;              else if(letter == 'a')                printf("Saturday\n");             else                 printf("input error\n");             break;         case  'M':            printf("Monday\n");            break;         case  'T':            printf("input the seconde letter:");               getchar();            letter = getchar();                 if(letter== 'u')                printf("Tuesday\n");             else if(letter == 'h')                printf("Thursday\n");             else                 printf("input error\n");             break;         case  'W':            printf("Wednesday\n");            break;         case  'F':            printf("Friday\n");            break;         default:            printf("input error again:\n");         }         getchar();        printf("please input letter:\n");     } } 

热点排行