#include <stdio.h>
int main(void)
{
int a, b;
float c;
char x;
scanf("%d %c %d", &a, &x, &b); // 修改格式字符串为 "%d %c %d"
switch (x)
{
case '+':
c = a + b;
printf("%f\n", c);
break;
case '-':
c = a - b;
printf("%f\n", c);
break;
case '*':
c = a * b;
printf("%f\n", c);
break;
case '/':
if (b != 0) // 添加条件判断以避免除数为零的情况
c = a / b;
else
printf("除数不能为零,请重新输入!\n");
printf("%f\n", c);
break;
default:
printf("你的输入有误\n");
break;
}
return 0;
}
修改后的代码解决了以下问题:
1. 格式字符串修改为 "%d %c %d":这是为了正确读取输入的整数、字符和另一个整数。
2. 添加了对除数为零情况的检查:在执行除法运算之前,检查除数(变量 b)是否为零。如果为零,则输出一条错误消息,而不是执行除法运算。