c语言为什么出现这样的错误?

代码:
char c;
printf("请输入要计算的算式:");
scanf("%d%c%d",a,c,b);
switch(c)
{
case +:printf("答案是%d",a+b);break;
case -:printf("答案是%d",a-b);break;
case *:printf("答案是%d",a*b);break;
case /:printf("答案是%d",a/b);break;
default:printf("输入错误");
错误:

[Error] case label does not reduce to an integer constant
[Error] expected expression before ':' token
Error] expected expression before ':' token
[Error] expected expression before '/' token
[Error] expected expression before '/' token
[Error] expected declaration or statement at end of input
我用的是devc++5.11

首先 scanf内的的参数是靠地址传递值的,所以那一行要修改,其次 字符型在判断时不能直接写 , 要带单引号。 下面是测试过能用的代码。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a,b;
char c;
printf("请输入要计算的算式:");
scanf("%d%c%d",&a,&c,&b);
switch(c)
{
case '+':printf("答案是%d",a+b);break;
case '-':printf("答案是%d",a-b);break;
case '*':printf("答案是%d",a*b);break;
case '/':printf("答案是%d",a/b);break;
default:printf("输入错误");
}

system("pause");
return 0;
}
(希望能帮到你,请采纳点赞)追问

谢谢!

温馨提示:内容为网友见解,仅供参考
无其他回答

为什么C语言代码会报错
内存错误:C语言没有自动内存管理功能,需要程序员手动分配和释放内存。如果内存分配不正确或者越界访问,就会报错。例如,数组越界访问、野指针等。逻辑错误:代码逻辑错误是指程序按照设计要求运行,但是结果不符合预期。这种错误通常是由于代码实现上的问题引起的,例如条件语句的判断条件不正确、循环语句的循...

C语言中为什么会出现这样的错误呢?
这种错误的原因,一般是因为被调用函数的形参对象应该是数组名,而不应该是数组。解决方法:一对花括号一对的找,肯定少了一个。注意:不要直接点击”编译并且运行”,而是应该点击”编译”按钮,这样可以保证警告不会被忽略,一些警告是非常有用的。有多个错误,要先处理最前面的错误,因为后面的错误可能...

C语言中,为什么会报这样的错?
3: Argument list syntax error — 参数表语法错误4: Array bounds missing — 丢失数组界限符5: Array size toolarge — 数组尺寸太大6: Bad character in paramenters — 参数中有不适当的字符7: Bad file name format in include directive — 包含命令中文件名格式不正确8: Bad ifdef directive synatax —...

为什么c语言程序在运行时出现错误?
出现这个报错的原因是:代码输入过程中出现全角输入,将代码中括号、分号等用半角字符替换即可。根据题目给出的提示,请检查一下第51行代码,将51行代码中出现的全角符号替换成半角字符,或者输了重新输入就行。

c语言运行到一半出现error是怎么回事呢?
C语言程序运行出现exe停止工作的原因是因为内存溢出和编译器错误。第一种:内存溢出 内存溢出(out of memory)通俗理解就是内存不够,程序所需要的内存远远超出了主机内安装的内存所承受大小,就叫内存溢出。系统会提示内存溢出,有时候会自动关闭软件,重启电脑或者软件后释放掉一部分内存又可以正常运行该...

为什么C语言会出现编译错误?
1、一段简单的 C 语言代码,其功能为接收一个 double 类型变量输入,并输出接收到的值。2、编译该程序,并没有编译错误出现。3、然而,在运行程序时,出现了错误。4、因此,当我们需要接收 double 类型变量输入时,应指定 %lf。5、下面为更改之后正确的代码。更改之后,程序就可以正常运行了。

C语言问题?为什么会出现这个错误?
而且申明的是fac函数,但使用的时候却写成了f,所以造成结果的不正确。可能原因:1.是否已经有黑框在运行了?2.是否main出了问题?解决方法:1、若后台已经有黑框再运行,则结束黑框;2、若无黑眶,可能是main函数出了问题,可查看是否把函数的定义写到了main函数中。

c语言编程为什么会出现Undefined symbol 错误
C语言编程中出现“Undefined symbol”错误,通常是因为编译器在链接过程中找不到某个符号的定义。在C语言编程中,一个“Undefined symbol”错误通常发生在编译和链接阶段。这个错误表明编译器在尝试构建一个可执行文件时,找不到某个函数、变量或符号的定义。换句话说,代码中可能声明...

C语言为什么会出现编译错误?
C语言程序出现编译错误,一般由以下几个原因之一或共同引起:1. 编程语法错误 如:char *p = 'abc';2. 存在无法编译的项目或引用 如没有定义某个变量却试图使用它 3.变量或函数重名、变量名称超过255个字节,编码错误等硬性规定的违法行为 4.设置了跳转段但找不到对应编号这样的...

C语言的运行出现不了的问题是什么问题??
C语言代码运行不出现象可能有很多原因,以下是一些常见的原因和解决方法:编译错误:代码中存在语法错误或类型错误,导致编译失败。可以通过编译器的错误提示信息来定位错误,逐一修正后重新编译。运行错误:代码编译成功,但在运行时出现错误,如数组越界、空指针、除零等错误。可以通过调试工具或打印调试信息...

相似回答