鱼C论坛

 找回密码
 立即注册
查看: 3276|回复: 9

switch不知道哪里用错了

[复制链接]
发表于 2019-9-5 20:05:51 | 显示全部楼层 |阅读模式

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

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

x
#include<stdio.h>
int main()
{
        float result ,one ,two;
        char ch;
        printf("请输入式子:");
        scanf("%.2f %c %.2f",&one,&ch,&two);
        switch(ch)
        {
                case '-':two = -two;
                case '+':result = one + two;break;
                case '*':result = one * two;break;
                case '/': if(two != 0)
                          {
                                result = one / two ;break;          
                          }
                          else {
                                  printf("很遗憾,除数不能为零!\n");break;
                          }

        }
printf("结果是:%.2f\n", result);
        return 0;
}
不管输入什么式子都等于0.00
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-9-6 11:33:25 | 显示全部楼层
本帖最后由 superbe 于 2019-9-6 11:35 编辑

scanf("%.2f %c %.2f",&one,&ch,&two);    //不能指定输入小数位数,这行改成如下:

scanf("%f %c %f",&one,&ch,&two);  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-6 11:41:18 | 显示全部楼层
scanf("%.2f %c %.2f",&one,&ch,&two);
        switch(ch)
        {
                case '-':two = -two;break哪去了
                case '+':result = one + two;break;
                case '*':result = one * two;break;
                case '/': if(two != 0)
另外,scanf没有指定小数位数这一说
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-6 21:06:41 | 显示全部楼层
兄弟,学你的,哈哈哈哈
#include<stdio.h>
int main()
{
        float result ,one ,two;
        char ch;
        printf("请输入式子:");
        scanf("%f %c %f",&one,&ch,&two);
        switch(ch)
        {
                case '-':two = -two;
                case '+':result = one + two;break;   
                case '/': if(two!=0)
                          {
                                two = 1/ two ;        
                          }
                          else {
                                  printf("很遗憾,除数不能为零!\n");break;
                          }
                 case '*':result = one * two;break;
        }
printf("结果是:%.2f\n", result);
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-6 22:31:23 | 显示全部楼层
bin554385863 发表于 2019-9-6 11:41
scanf("%.2f %c %.2f",&one,&ch,&two);
        switch(ch)
        {

swit只能选择int型数据吖
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-6 23:14:25 | 显示全部楼层
AmosAlbert 发表于 2019-9-6 22:31
swit只能选择int型数据吖

字符的表现形式就是整形
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-8 08:35:56 | 显示全部楼层
switchcase只能判断整数......
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-24 23:18:34 | 显示全部楼层
bin554385863 发表于 2019-9-6 23:14
字符的表现形式就是整形

???????
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-9-25 12:37:24 | 显示全部楼层

电脑会把字符转换成ASCII码存储起来
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-12 19:41:50 | 显示全部楼层
bin554385863 发表于 2019-9-25 12:37
电脑会把字符转换成ASCII码存储起来

oh,讲明白了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-10-4 15:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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