鱼C论坛

 找回密码
 立即注册
查看: 5563|回复: 36

[已解决]初学者case标签只能在开关内使用

[复制链接]
发表于 2022-2-7 21:53:52 | 显示全部楼层 |阅读模式

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

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

x

第一次学c语言,照着小甲鱼的写代码,就是运行不了。

#include<stdio.h>

void main()
{
        double a, b;//double的精度比浮点型要高
        char c;
        printf("输入表达:a+(-,*,/)b\n");
        scanf_s("%lf%c%lf",&a,&c,&b);//double型要用%lf,
        switch (c);
        {
        case'+':
                printf("%lf\n", a + b);
                break;
        case '-':
                printf("%lf\n", a - b);
                break;
        case '*':
                printf("%lf\n", a * b);
                break;
        case '/':
                printf("%lf\n", a / b);
                break;
        default:printf("请输入一个正确的格式");
        }
}




b站小甲鱼这个知识点 的链接https://fishc.com.cn/home.php?mod=misc&ac=emailcheck&hash=0cb5NOBSUpWE27PoWxQDLXlMgyaklyh3hiN0GyzGcBxhY6tRYeDAiNGE7IFq415kCyORtXV83uSba5kbia9QHBRhnD65GcLypqOxRA


第一次发帖,怎么悬赏呀
最佳答案
2022-2-7 22:02:13
switch (c);
改成
switch (c)
你多了个分号

你是新鱼友,不能发图片
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-2-7 21:57:28 | 显示全部楼层
怎么在发帖的时候发图片呀
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-7 21:58:12 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-7 22:02:13 | 显示全部楼层    本楼为最佳答案   
switch (c);
改成
switch (c)
你多了个分号

你是新鱼友,不能发图片
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-7 22:06:03 | 显示全部楼层
如果你的代码警告:
a.c: In function 'main':
a.c:8:5: warning: implicit declaration of function 'scanf_s'; did you mean 'scanf'? [-Wimplicit-function-declaration]
    8 |     scanf_s("%lf%c%lf", &a, &c, &b); // double型要用%lf,
      |     ^~~~~~~
      |     scanf

那就把 scanf_s 改成 scanf。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-7 22:08:41 | 显示全部楼层
悬赏的话

如何悬赏

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

使用道具 举报

发表于 2022-2-7 22:12:23 | 显示全部楼层
switch (c)这里后面没分号
case '+': case后面得加一个空格分隔开
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-7 22:40:16 | 显示全部楼层
#include <stdio.h>

int main() // Warning Codes:C4098 'main': 'void' function returning a value
{
    double a, b;
    char c;
    printf("输入表达:a+(-,*,/)b\n");
    scanf_s("%lf%c%lf", &a, &c, 1, &b); // Warnings Codes:C6270、C6273、C4477、C4473
    switch (c) // <---------- 注意这里 ----------
    {
        case'+':
            printf("%lf\n", a + b);
            break;
        case '-':
            printf("%lf\n", a - b);
            break;
        case '*':
            printf("%lf\n", a * b);
            break;
        case '/':
            printf("%lf\n", a / b);
            break;
        default:
            printf("请输入一个正确的格式");
    }
    return 0;
}

评分

参与人数 1荣誉 +1 鱼币 +1 收起 理由
ckblt + 1 + 1 鱼C有你更精彩^_^

查看全部评分

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

使用道具 举报

 楼主| 发表于 2022-2-8 10:51:49 | 显示全部楼层
ckblt 发表于 2022-2-7 22:02

改成
你多了个分号

太谢谢了,第一次来这里,有人回复我,真的对我帮助太大了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-8 10:54:26 | 显示全部楼层
ckblt 发表于 2022-2-7 22:06
如果你的代码警告:

那就把 scanf_s 改成 scanf。

我用的vs2019.微软为了安全,把scanf全弄成了scanf_s
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-8 10:55:26 | 显示全部楼层

谢谢,谢谢。第一次来,请多指教
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-8 10:56:27 | 显示全部楼层
2736946915 发表于 2022-2-7 22:12
switch (c)这里后面没分号
case '+': case后面得加一个空格分隔开

谢谢,你的回答真的让我有走下去的信心,我不是一个人。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-8 10:57:12 | 显示全部楼层
哦,我用的是MinGW,不知道为啥,把scanf_s警告了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-8 10:58:11 | 显示全部楼层

还没有学到return 0
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-8 10:59:11 | 显示全部楼层

谢谢啦,大家都好热情
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-8 11:02:23 | 显示全部楼层

在 main 函数里,return 0 是运行没问题的意思:
int main()
{
    return 0;
}
你这样也可以:
void main()
{ // 如果你 void main() 的话,你不能 return 0。
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-8 11:10:44 | 显示全部楼层

现在好像不行,是因为我才来吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-8 11:11:50 | 显示全部楼层
丘陵山地 发表于 2022-2-8 11:10
现在好像不行,是因为我才来吗

可能吧,我去看一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-8 11:12:47 | 显示全部楼层
丘陵山地 发表于 2022-2-8 11:10
现在好像不行,是因为我才来吗

对的,你是新鱼友,不能悬赏
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-8 11:35:42 | 显示全部楼层
ckblt 发表于 2022-2-8 11:12
对的,你是新鱼友,不能悬赏

又出错了
警告        C6270        缺少“scanf_s”的浮点型参数: 添加一个对应于转换说明符“4”的浮点型参数。       
scanf_s("%lf%c%lf",&a,&c,&b);这是我写的,它警告一堆问题
scanf_s("%lf%c%lf",&a,&c,1,&b);这是我看7楼写的,加了个1就正确了,why?一脸懵逼呀
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-18 14:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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