/*模拟加法和减法程序*/ #include<stdio.h> int main() { int a,b; char operater; printf("Please input two integer:"); scanf("%d %d",&a,&b); printf("Please input operator(+ or-)"); scanf("%c",&operater); switch(operator) { case+: printf("%d+%d=%d\n",a,b,a+b); case-: printf("%d-%d=%d\n",a,b,a-b);break; default: printf("Input error.\n"); } return 0; }哪里错了,请讲解一下
时间: 2023-09-22 18:07:48 浏览: 38
代码中有一个拼写错误,将 `operater` 拼写成了 `operator`,导致编译器无法识别该变量。另外,`switch` 语句中的 `case` 缺少 `break`,会导致 `case -` 执行后会继续执行下一个 `case`,从而输出错误的结果。下面是修改后的代码:
```
#include<stdio.h>
int main() {
int a,b;
char operator;
printf("Please input two integers:");
scanf("%d %d",&a,&b);
printf("Please input operator (+ or -):");
scanf(" %c",&operator); //注意这里要加一个空格,避免读取上一次输入的换行符
switch(operator) {
case '+':
printf("%d + %d = %d\n",a,b,a+b);
break;
case '-':
printf("%d - %d = %d\n",a,b,a-b);
break;
default:
printf("Input error.\n");
}
return 0;
}
```
这样就可以正确地进行加法和减法运算了。