一只高傲的鹤 发表于 2021-12-31 17:04:14

《带你学C带你飞》switch语句和分支嵌套 视频代码有bug,求解

视频中的代码如下所示:

#include <stdio.h>

int main()
{
    char isRain, isFree;

    printf("女神是否有空?(Y/N)");
    scanf("%c", &isFree);

    getchar();

    printf("是否下雨?(Y/N)");//待解决问题,选择N(没空)之后,程序居然未结束,接着运行下雨问题
    scanf("%c", &isRain);

    if (isFree == 'Y')
    {
      if(isRain == 'Y')
      {
            printf("记得带伞哦!\n");
      }

    }
    else
    {
      printf("难过,女神没空!");
    }
    return 0;
}




选择没有时间之后,显示如下:

女神是否有空?(Y/N)N
是否下雨?(Y/N)
难过,女神没空!

求解:如何修改代码让程序在选择 N 的时候直接结束?

人造人 发表于 2021-12-31 18:53:36

#include <stdio.h>

int main()
{
    char isRain, isFree;

    printf("女神是否有空?(Y/N)");
    scanf("%c", &isFree);

    getchar();

    /*
    printf("是否下雨?(Y/N)");//待解决问题,选择N(没空)之后,程序居然未结束,接着运行下雨问题
    scanf("%c", &isRain);
    */

    if (isFree == 'Y')
    {
      printf("是否下雨?(Y/N)");//待解决问题,选择N(没空)之后,程序居然未结束,接着运行下雨问题
      scanf("%c", &isRain);
      if(isRain == 'Y')
      {
            printf("记得带伞哦!\n");
      }

    }
    else
    {
      //printf("难过,女神没空!");
      printf("难过,女神没空!\n");
    }
    return 0;
}

一只高傲的鹤 发表于 2022-1-1 18:13:20

人造人 发表于 2021-12-31 18:53


我怎么没想到{:10_247:}
回家试试{:10_256:}

mei-mo 发表于 2022-1-2 07:36:26

{:10_256:}

mei-mo 发表于 2022-1-2 07:38:04

if嵌套的在输入,不要先输入,在嵌套

一只高傲的鹤 发表于 2022-1-2 21:53:54

嗯哼
页: [1]
查看完整版本: 《带你学C带你飞》switch语句和分支嵌套 视频代码有bug,求解