简单C语言问题求指教

编的实验代码如下:#include<stdio.h>voidmain(){charletter;printf("plzinputthefirstletterofsomed... 编的实验代码如下:
#include <stdio.h>
void main()
{
char letter;
printf("plz input the first letter of someday\n");
while ((letter=getchar())!='Y')

{
switch (letter)
{
case 'S':{printf("plz input the second letter\n");
if
((letter=getchar())=='a') printf("Saturday\n");
else if((letter=getchar())=='u')printf("Sunday\n");
else printf("data error\n");
break;}

}
}
}
运行后假如我输入S,在输入a直接data error,输入S再输入u可以得到Sunday
展开
 我来答
Vision_Tung
2016-07-03 · 超过32用户采纳过TA的回答
知道答主
回答量:64
采纳率:0%
帮助的人:39.6万
展开全部

#include <stdio.h>

void main()

{

    char letter;

    printf("plz input the first letter of someday\n");

    while ((letter = getchar()) != 'Y')

 

    {

        switch (letter)

        {

        case 'S': {printf("plz input the second letter\n");

            if

                ((letter = getchar()) == 'a') {

                printf("Saturday\n");

                getchar();

            }

            else if ((letter = getchar()) == 'u')printf("Sunday\n");

            else printf("data error\n");

            break; }

 

        }

    }

}

原因是你没有清除缓冲区的S,第一次你输入S后接a能成功输出的原因是 你在进入switch前将之前的S给get了(这是个形象的说法,实际上是getchar语句清空了键盘的缓冲区)

望采纳 谢谢

更多追问追答
追问
大神啊,这样改了还是一样的输出。。。
我要达到的是Sa输出星期六,Su输出星期天,求指导
追答
#include <stdio.h>
void main()
{
    char letter;
    printf("plz input the first letter of someday\n");
    while ((letter = getchar()) != 'Y')
    {
        switch (letter)
        {
        case 'S': {printf("plz input the second letter\n"); 
            getchar();
            if((letter = getchar()) == 'a') 
                printf("Saturday\n");
            else if (letter == 'u')printf("Sunday\n");
            else printf("data error\n");
            break; }
        }
    }
}
抱歉 改错了....还是一样的解释。抱歉
匿名用户
2016-07-03
展开全部
只懂点基础
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2016-07-03
展开全部
你想问什么,你代码就是这样处理的,难道有问题么?
追问
我想达到的目的是 输入S再输入a打印Saturday,怎么会报错。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式