121786404 发表于 2020-3-23 17:52:07

qiuyouzhi 发表于 2020-3-23 17:55:51

我这里没有问题?

121786404 发表于 2020-3-23 17:57:24

qiuyouzhi 发表于 2020-3-23 17:59:05

121786404 发表于 2020-3-23 17:57
就第一个if输入N,但是他没有输出else后面的句子,而是接受下一个if

不是
你的代码是先全部输入再判断的啊
要么你就输入一个判断一个

121786404 发表于 2020-3-23 18:00:56

qiuyouzhi 发表于 2020-3-23 18:03:42

121786404 发表于 2020-3-23 18:00
这是小甲鱼课上switch这一节课的举例,我照着抄的,是不能这样子吗

不是
看你想要的效果咯

121786404 发表于 2020-3-23 18:05:38

青青兮云 发表于 2020-3-23 18:05:42

getchar的缘故,去掉后,会直接执行第二个printf然后就输出女神没空

121786404 发表于 2020-3-23 18:07:01

121786404 发表于 2020-3-23 18:08:37

青青兮云 发表于 2020-3-23 18:10:40

121786404 发表于 2020-3-23 18:08
去掉getchar会把回车键算一个字符当成嵌套if的输入

我还是没听明白你的意思,你是想输入N后直接输出else中的语句,还是其他

121786404 发表于 2020-3-23 18:11:06

就是要努力呀 发表于 2020-3-23 18:14:03

#include <stdio.h>

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

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


代码是从上往下线性执行的,在两个scanf语句不运行完是不会向下执行的

青青兮云 发表于 2020-3-23 18:14:17

121786404 发表于 2020-3-23 18:11
是的

那就我感觉只能分开写了,分开判断执行,你也说了,写到一起会把回车当作一个字符,你还可以使用switch语句

121786404 发表于 2020-3-23 18:16:50

页: [1]
查看完整版本: 新手求助,麻烦各位看一下,为什么第一句执行时打了N,但是还是不执行else后面的