blayt 发表于 2021-9-11 15:19:02

swicth的四则运算

帅哥美女们,如果想用switch完成四则运算怎么改

村里小黑 发表于 2021-9-11 15:48:21

default :后边没有break;把if判断语句里的break删掉,把break放在if else语句之外应该就可以了

村里小黑 发表于 2021-9-11 15:54:38

而且你if判断的也有问题,应该是if(b==0)而不是0==b

blayt 发表于 2021-9-11 15:56:37

村里小黑 发表于 2021-9-11 15:48
default :后边没有break;把if判断语句里的break删掉,把break放在if else语句之外应该就可以了

不好使.....

村里小黑 发表于 2021-9-11 16:05:38

blayt 发表于 2021-9-11 15:56
不好使.....

你去函数快查看一下scanf函数怎么使用,你使用的有问题,获取值后没有写把值赋给那个变量,所以你switch的变量是空的,你现在应该是没报错但是没有打印出结果

大马强 发表于 2021-9-11 16:23:52

基础不过关
1.scanf语句没写对,漏了赋值对象
2,switch 语法有问题
#include <stdio.h>

int main()
{
        float a,b;
        char ch;
        scanf("%f %c %f",&a,&ch,&b);
        switch(ch)
        {
                case '+':
                        printf("%.2f", a + b);
                        break;
                case '-':
                        printf("%.2f", a - b);
                        break;
                case '*':
                        printf("%.2f", a * b);
                        break;
                case '/':
                        if (0==b)
                        {
                                printf("输入不合法!");
                                break;
                        }
                               
                        else
                                printf("%.2f", a / b);
                default:
                        printf("输入不合法!");
                                break;
        }
      return 0;
}

大马强 发表于 2021-9-11 16:24:24

村里小黑 发表于 2021-9-11 15:54
而且你if判断的也有问题,应该是if(b==0)而不是0==b

这样也是对的
你可以试试

村里小黑 发表于 2021-9-11 16:37:43

大马强 发表于 2021-9-11 16:24
这样也是对的
你可以试试

是对的,但是正常习惯写法不是按我说的嘛?而且这不是应该是一个左值右值的问题嘛

大马强 发表于 2021-9-11 16:39:11

村里小黑 发表于 2021-9-11 16:37
是对的,但是正常习惯写法不是按我说的嘛?而且这不是应该是一个左值右值的问题嘛

我也是习惯像你那样写,但可以看到好多人用另一种写法

村里小黑 发表于 2021-9-11 16:42:35

大马强 发表于 2021-9-11 16:39
我也是习惯像你那样写,但可以看到好多人用另一种写法

emmmmm
很别扭

大马强 发表于 2021-9-11 16:44:07

村里小黑 发表于 2021-9-11 16:42
emmmmm
很别扭

哈哈哈,确实

blayt 发表于 2021-9-11 16:44:27

村里小黑 发表于 2021-9-11 16:37
是对的,但是正常习惯写法不是按我说的嘛?而且这不是应该是一个左值右值的问题嘛

这样写可以避免少打一个=的问题,因为系统不允许你给一个常量赋值

大马强 发表于 2021-9-11 16:57:15

blayt 发表于 2021-9-11 16:44
这样写可以避免少打一个=的问题,因为系统不允许你给一个常量赋值

确实,这样就能知道出错地方{:10_297:}

村里小黑 发表于 2021-9-11 17:00:49

blayt 发表于 2021-9-11 16:44
这样写可以避免少打一个=的问题,因为系统不允许你给一个常量赋值

{:5_106:}
牛啊牛啊,这么说确实有道理
页: [1]
查看完整版本: swicth的四则运算