wcwfta 2021-11-02 19:34 采纳率: 100%
浏览 38
已结题

为什么能只有一个if可以进行


#include <stdio.h>
#include <stdlib.h>
int main()
{
    char response,c;
    int guess=50,a=0,b=100;
    printf("please give me a number y which is from 0 to 100 to guess\n");
    printf("if my guess is big piease say b,");
    printf("if my guess is small please say s\n");
    printf("your number is %d?",guess);
    while((response=getchar())!='y')
    {
        if(response=='n')
        {
           printf("Is it big or small?\n");
            if((c=getchar())=='s')
            {
                printf("%c",c);
                a=guess;
                guess=(b-a)/2+a;
                printf("%d",guess);
            }
            if((c=getchar())=='b')
            {
                b=guess;
                guess=(b-a)/2+a;
                printf("%d",guess);
            }
            printf("%d",guess);
            printf("%c",c);
        }
            else
            {
                printf("sb I don't know what you say.\n");
            }
       //printf("your number is %d?\n",guess);
        //printf("%c",c);
        while(getchar()!='\n')
            continue;

    }
    return 0;
}
为什么当我输入s的时候他不会进行if的判断而输入b才会呢?
  • 写回答

2条回答 默认 最新

  • 关注
    
    #include <stdio.h>
    #include <stdlib.h>
    int main()
    {
        char response,c;
        int guess=50,a=0,b=100;
        printf("please give me a number y which is from 0 to 100 to guess\n");
        printf("if my guess is big piease say b,");
        printf("if my guess is small please say s\n");
        printf("your number is %d?",guess);
        while((response=getchar())!='y')
        {
            if(response=='n')
            {
               printf("Is it big or small?\n");
               fflush(stdin);
               c=getchar();
                if(c=='s')
                {
                    printf("%c",c);
                    a=guess;
                    guess=(b-a)/2+a;
                    printf("%d",guess);
                }
                if(c=='b')
                {
                    b=guess;
                    guess=(b-a)/2+a;
                    printf("%d",guess);
                }
                printf("%d",guess);
                printf("%c",c);
            }
                else
                {
                    printf("sb I don't know what you say.\n");
                }
           //printf("your number is %d?\n",guess);
            //printf("%c",c);
            while(getchar()!='\n')
                continue;
     
        }
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月10日
  • 已采纳回答 11月2日
  • 创建了问题 11月2日

悬赏问题

  • ¥15 在获取boss直聘的聊天的时候只能获取到前40条聊天数据
  • ¥20 关于URL获取的参数,无法执行二选一查询
  • ¥15 液位控制,当液位超过高限时常开触点59闭合,直到液位低于低限时,断开
  • ¥15 marlin编译错误,如何解决?
  • ¥15 有偿四位数,节约算法和扫描算法
  • ¥15 VUE项目怎么运行,系统打不开
  • ¥50 pointpillars等目标检测算法怎么融合注意力机制
  • ¥20 Vs code Mac系统 PHP Debug调试环境配置
  • ¥60 大一项目课,微信小程序
  • ¥15 求视频摘要youtube和ovp数据集