XXYILU 2022-11-15 09:14 采纳率: 60%
浏览 8
已结题

输入无反应,希望帮助

问题遇到的现象和发生背景

我想利用用户输入‘Y' or 'N' 来控制程序是否继续进行

用代码块功能插入代码,请勿粘贴截图

```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
    srand(time(NULL));
    int magic = rand()%100 + 1;
    int guess = 0;
    int n = 0;
    printf("Please enter a number.\n");

    while(n<7)
    {
        scanf("%d", &guess);
        if(guess < magic)
        {
            printf("Too low.\n");
        }
        else if(guess > magic)
        {
            printf("Too high.\n");
        }
        else
        {
            printf("Good,you are right.\n");    
        }
        n++;
        while(getchar() != '\n')
        {
            ;
        }
        printf("Do you want to continue?\nY or N.\n");
    
        char ch;
        scanf("%c", &ch);
        if(ch=='Y')
            {
            continue;
            }    
        if(ch=='N')
            {    
            break;
            }
        else
            {
            printf("Wrong.Please enter 'Yes' or 'No'. \n");
            }
    }
    return 0;
}


###### 运行结果及报错内容 
但是输入  N加回车可以反应, 输入Y+回车就无反应

###### 我的解答思路和尝试过的方法 
没有头绪

###### 我想要达到的结果
  • 写回答

5条回答 默认 最新

  • 於黾 2022-11-15 09:22
    关注

    你输入Y和N之后,也没有print任何东西,可不无反应吗
    程序直接回到while的起点,又要你输入guess了
    你把printf("Please enter a number.\n");这句放到while里面来

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(4条)

报告相同问题?

问题事件

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

悬赏问题

  • ¥30 STM32 INMP441无法读取数据
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动
  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
  • ¥500 把面具戴到人脸上,请大家贡献智慧
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
  • ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
  • ¥30 c#打开word开启修订并实时显示批注
  • ¥15 如何解决ldsc的这条报错/index error
  • ¥15 VS2022+WDK驱动开发环境