初学者case标签只能在开关内使用
第一次学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
第一次发帖,怎么悬赏呀
怎么在发帖的时候发图片呀
链接错了应该是这个
https://www.bilibili.com/video/BV1x7411M74h?p=14&spm_id_from=pageDriver 把switch (c);
改成switch (c)
你多了个分号
你是新鱼友,不能发图片 如果你的代码警告: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。 悬赏的话 switch (c)这里后面没分号
case '+': case后面得加一个空格分隔开 #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;
} ckblt 发表于 2022-2-7 22:02
把
改成
你多了个分号
太谢谢了{:10_254:},第一次来这里,有人回复我,真的对我帮助太大了 ckblt 发表于 2022-2-7 22:06
如果你的代码警告:
那就把 scanf_s 改成 scanf。
我用的vs2019.微软为了安全,把scanf全弄成了scanf_s{:10_329:} ckblt 发表于 2022-2-7 22:08
悬赏的话
谢谢,谢谢。第一次来,请多指教{:10_332:} 2736946915 发表于 2022-2-7 22:12
switch (c)这里后面没分号
case '+': case后面得加一个空格分隔开
谢谢,你的回答真的让我有走下去的信心,我不是一个人。 哦,我用的是MinGW,不知道为啥,把scanf_s警告了。 傻眼貓咪 发表于 2022-2-7 22:40
还没有学到return 0{:10_328:} 傻眼貓咪 发表于 2022-2-7 22:40
谢谢啦,大家都好热情 丘陵山地 发表于 2022-2-8 10:58
还没有学到return 0
在 main 函数里,return 0 是运行没问题的意思:
int main()
{
return 0;
}
你这样也可以:
void main()
{ // 如果你 void main() 的话,你不能 return 0。
} ckblt 发表于 2022-2-7 22:08
悬赏的话
现在好像不行,是因为我才来吗{:10_255:} 丘陵山地 发表于 2022-2-8 11:10
现在好像不行,是因为我才来吗
可能吧,我去看一下 丘陵山地 发表于 2022-2-8 11:10
现在好像不行,是因为我才来吗
对的,你是新鱼友,不能悬赏 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?一脸懵逼呀
页:
[1]
2