鱼C论坛

 找回密码
 立即注册
查看: 1594|回复: 12

[已解决]BUG

[复制链接]
发表于 2021-8-25 14:05:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<stdio.h>

int main()
{
        char isFree,isRain;
       
        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;
}



为什么前面的是否有空那里输入'N"了,后面我按回车后,它还会跳转到是否下雨那里啊?而不是跳转到没空那里?求大佬们解惑
最佳答案
2021-8-25 15:15:01
你的意思是说在
是否有空? 输入 N
然后就跳到没空,不用去执行 是否下雨 这个语句?
那得要这样才行啊
#include<stdio.h>

int main()
{
        char isFree,isRain;
       
        printf("是否有空?(Y/N)");
        scanf("%c",&isFree);
       
        getchar();
          
        if(isFree=='Y')
        {
                printf("是否下雨?(Y/N)");
                        scanf("%c",&isRain);
                if(isRain=='Y')
                {
                        printf("记得带伞哦!\n");
                }
        }
        else
        {
                printf("女神没空!\n");
        }
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-8-25 14:35:07 | 显示全部楼层
我这里正常呀
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-25 14:36:08 | 显示全部楼层
你的意思是这样?
#include<stdio.h>

int main()
{
    char isFree,isRain;

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

    getchar();

    if(isFree=='Y')
    {
        printf("是否下雨?(Y/N)");
        scanf("%c",&isRain);
        if(isRain=='Y')
        {
            printf("记得带伞哦!\n");
        }
    }
    else
    {
        printf("女神没空!\n");
    }
    return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-25 14:36:39 | 显示全部楼层
我这里正常呀
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-25 14:37:12 | 显示全部楼层

                               
登录/注册后可看大图
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-25 14:50:03 | 显示全部楼层

没空的话,还在乎下不下雨么?^_^
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-8-25 15:05:23 | 显示全部楼层

我这里的输入‘N’,它还会跳转到是否下雨那里


是否有空?(Y/N)N
是否下雨?(Y/N)
女神没空!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-8-25 15:06:47 | 显示全部楼层
人造人 发表于 2021-8-25 14:36
你的意思是这样?

这样子写是正常的,但是我是按照小甲鱼那样写的为啥会出现那样的BUG啊?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-25 15:15:01 | 显示全部楼层    本楼为最佳答案   
你的意思是说在
是否有空? 输入 N
然后就跳到没空,不用去执行 是否下雨 这个语句?
那得要这样才行啊
#include<stdio.h>

int main()
{
        char isFree,isRain;
       
        printf("是否有空?(Y/N)");
        scanf("%c",&isFree);
       
        getchar();
          
        if(isFree=='Y')
        {
                printf("是否下雨?(Y/N)");
                        scanf("%c",&isRain);
                if(isRain=='Y')
                {
                        printf("记得带伞哦!\n");
                }
        }
        else
        {
                printf("女神没空!\n");
        }
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-25 15:16:59 | 显示全部楼层
你这写法不对,当然不能得到你想要的结果
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-25 15:31:04 | 显示全部楼层
喜欢陈大傻 发表于 2021-8-25 15:06
这样子写是正常的,但是我是按照小甲鱼那样写的为啥会出现那样的BUG啊?

程序从上到下执行
你把这个
printf("是否下雨?(Y/N)");
scanf("%c",&isRain);
写在这个的外面,当然就会执行到了
if(isFree=='Y')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-8-25 17:24:13 | 显示全部楼层
人造人 发表于 2021-8-25 15:31
程序从上到下执行
你把这个
printf("是否下雨?(Y/N)");

小甲鱼写的,哈哈哈,他应该是没考虑到这个
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-25 17:51:34 | 显示全部楼层
喜欢陈大傻 发表于 2021-8-25 17:24
小甲鱼写的,哈哈哈,他应该是没考虑到这个


这不是bug,这是特性!
^_^
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-22 03:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表