小甲鱼写的一个计算器程序好像不太对
在带你学C带你飞s1e12中的课后作业小甲鱼给了一个简易计算器的代码#include <stdio.h>
int main()
{
int op1, op2;
char ch;
float result;
printf("请输入式子:");
scanf("%d %c %d", &op1, &ch, &op2);
switch (ch)
{
case '-': op2 = -op2; // no break
case '+': result = op1 + op2; break;
case '*': result = op1 * op2; break;
case '/':
if (op2 != 0)
{
result = (float)op1 / op2;
break;
}
else
{
printf("除数不能为零!\n");
break;
}
}
printf("结果是:%.2f\n", result);
return 0;
}
我运行了以下,这个程序最后可以 识别除数为0 的情况,但是还是运行printf("结果是:%.2f\n", result);
我的问题是:该怎么做让它在
else
{
printf("除数不能为零!\n");
break;
}
这里就直接终止程序
else
{
printf("除数不能为零!\n");
break;
}
将break;改为return 0;
这样当除数为零时直接return 0,跳出程序,后面都不执行 加个变量和if就行了吧{:10_254:} else
{
printf("除数不能为零!\n");
exit(1);
}
除数为0的时候,直接退出程序就可以了。 最后可以这样写:
if (op2 != 0)
{
printf("结果:***",***);
}
页:
[1]