我有一个问题我assignements之一:浮点异常(核心转储) - C程序
- 编写一个程序,允许用户键入的形式 数操作数 的简单表达式
- 该程序评估表达式并在终端显示结果,精确到小数点后两位。
- 但是,程序只能调用scanf函数一次。
#include <stdio.h>
int main(void)
{
int num1, num2, sum, difference, product, quotient;
num1 = 0;
num2 = 0;
printf("type in expression");
scanf("%d%d", &num1, &num2);
sum = num1+num2;
difference = num1-num2;
product = num1*num2;
quotient = num1/num2;
switch (num1) {
case 2: printf("%d/%d=%d", num1, num2!=0 , quotient);
break;
case 1: printf("%d*%d=%d", num1, num2, product);
break;
case 0: printf("%d-%d=%d", num1, num2, difference);
break;
default: printf("%d+%d=%d", num1, num2, sum);
break;
}
}
该程序可以被编译,但是当我运行它,这个消息显示了:
浮点异常(核心转储)
是什么这个意思?另外,如果还有其他问题,请告诉我。
什么是输入?该输入的预期输出是多少? –
这意味着'num2'最有可能是0并且被0除是一个问题。 –
为什么打印在开关()?虽然这与例外无关。 – MayurK