c语言入门新人 发表于 2021-7-13 20:44:54

为啥输入N不直接判断女神没空,反而还需要判断是否下雨

问题如上#include<stdio.h>
int main(){
        char isRain,isFree;
        printf("女神是否有空?(Y/N)");
        scanf("%c",&isFree);
        getchar();
        printf("是否下雨?(Y/N)");
        scanf("%c",&isRain);
        if(isFree == 'Y'){
                if(isRain == 'Y'){
                        printf("记得带伞!\n");
                }
        }
        else{
                printf("女神没空!\n");
        }
        return 0;
}

永恒的蓝色梦想 发表于 2021-7-13 20:46:30

你就是这么写的啊?

c语言入门新人 发表于 2021-7-13 20:53:11

永恒的蓝色梦想 发表于 2021-7-13 20:46
你就是这么写的啊?

我想着应该是那种判断第一个条件,输入N应该直接打印 女神没空,可结果是输入N后还要判断是否下雨,这咋改啊

永恒的蓝色梦想 发表于 2021-7-13 20:54:47

本帖最后由 永恒的蓝色梦想 于 2021-7-14 12:56 编辑

c语言入门新人 发表于 2021-7-13 20:53
我想着应该是那种判断第一个条件,输入N应该直接打印 女神没空,可结果是输入N后还要判断是否下雨,这咋 ...

#include<stdio.h>

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

      if(isFree == 'Y'){
                getchar();
                printf("是否下雨?(Y/N)");
                scanf("%c",&isRain);

                if(isRain == 'Y'){
                        printf("记得带伞!\n");
                }
      }
      else{
                printf("女神没空!\n");
      }

      return 0;
}

活動小丑 发表于 2021-7-13 21:45:09

这里修改了,一下如果没空直接没空,如果没有下与也直接没空
#include <stdio.h>

void WaitConfirm ( void )
{
      fflush(stdin);
      getchar();
}

int main( int argc, char *argv [ ] )
{
      char isRain,isFree;

      printf("女神是否有空?(Y/N)");
      scanf("%c",&isFree);
      if (isFree == 'N')      // 如果女神没有空....
      {
                goto Next;
      }
      WaitConfirm();

      printf("是否下雨?(Y/N)");
      scanf("%c",&isRain);
      WaitConfirm();

      if ( isFree == 'Y')
      {
                if ( isRain == 'Y' )
                {
                        printf("记得带伞!\n");
                        return 1;
                }
                else
                {
                        goto Next;
                }
      }
      else
      {
Next:         // 就会跳转到下面
                printf("女神没空!\n");
      }

      WaitConfirm();
      return 0;
}

c语言入门新人 发表于 2021-7-14 12:47:39

永恒的蓝色梦想 发表于 2021-7-13 20:54


谢谢大佬 不过你这个多了个else了
#include<stdio.h>

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

      if(isFree == 'Y'){
                getchar();
                printf("是否下雨?(Y/N)");
                scanf("%c",&isRain);

                if(isRain == 'Y'){
                        printf("记得带伞!\n");
                }
               
      }
      else{
                printf("女神没空!\n");
      }

      return 0;
}

永恒的蓝色梦想 发表于 2021-7-14 12:56:21

c语言入门新人 发表于 2021-7-14 12:47
谢谢大佬 不过你这个多了个else了
#include



啊,搞错了
页: [1]
查看完整版本: 为啥输入N不直接判断女神没空,反而还需要判断是否下雨