鱼C论坛

 找回密码
 立即注册
查看: 784|回复: 3

[已解决]出bug了

[复制链接]
发表于 2022-2-9 14:46:03 | 显示全部楼层 |阅读模式

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

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

x
如果输入不合法的算式,就会循环打印:"请输入一个算式:",’"叮咚!输入算式不合法,请重新输入:)"
大家帮看看是什么问题
最佳答案
2022-2-9 14:59:21
试试这样:
#include <stdio.h>

int main()
{
    while (1)
    {
        float numa = 0, numb = 0, numc = 0;
        char numd = 0;
        printf("请输入一个算式:\n");
        fflush(stdin); // 添加了这行
        scanf("%f%c%f", &numa, &numd, &numb);
        switch (numd)
        {
        case '+':
            printf("结果为%f\n", numc = numa + numb);
            break;
        case '-':
            printf("结果为%f\n", numc = numa - numb);
            break;
        case '*':
            printf("结果为%f\n", numc = numa * numb);
            break;
        case '/':
            printf("结果为%f\n", numc = numa / numb);
            break;
        default:
            printf("叮咚!输入算式不合法,请重新输入:)");
            break;
        }
    }
    return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-2-9 14:46:39 | 显示全部楼层
#include <stdio.h>

int main()
{
        while(1)
        {
                float numa=0,numb=0,numc=0;
                char numd=0;
                printf("请输入一个算式:\n");
                scanf("%f%c%f",&numa,&numd,&numb);
                switch(numd)
                {
                        case '+':printf("结果为%f\n",numc=numa+numb);break;
                        case '-':printf("结果为%f\n",numc=numa-numb);break;
                        case '*':printf("结果为%f\n",numc=numa*numb);break;
                        case '/':printf("结果为%f\n",numc=numa/numb);break;
                        default:printf("叮咚!输入算式不合法,请重新输入:)");break;
                }
        }
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-9 14:59:21 | 显示全部楼层    本楼为最佳答案   
试试这样:
#include <stdio.h>

int main()
{
    while (1)
    {
        float numa = 0, numb = 0, numc = 0;
        char numd = 0;
        printf("请输入一个算式:\n");
        fflush(stdin); // 添加了这行
        scanf("%f%c%f", &numa, &numd, &numb);
        switch (numd)
        {
        case '+':
            printf("结果为%f\n", numc = numa + numb);
            break;
        case '-':
            printf("结果为%f\n", numc = numa - numb);
            break;
        case '*':
            printf("结果为%f\n", numc = numa * numb);
            break;
        case '/':
            printf("结果为%f\n", numc = numa / numb);
            break;
        default:
            printf("叮咚!输入算式不合法,请重新输入:)");
            break;
        }
    }
    return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-9 15:19:36 | 显示全部楼层

谢谢大佬,之前没注意
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-30 19:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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