|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include<stdio.h>
#include<math.h>
int main()
{
float a,b,result;
char f;
printf("输入四则运算式子\n");
scanf("%f%c%f",&a,&f,&b);
if(f=='+')
{
result=a+b;
}
else if(f=='-')
{
result=a-b;
}
else if(f=='*')
{
result=a*b;
}
else if(f=='/')
{
if(b=0)
printf("除数不为0!\n");
else
result=a/b;
}
else
{
printf("mistake\n");
}
printf("=%.1f\n",result);
return 0;
}
1、出错的原因是检测到 b = 0 了,还在继续执行 printf();
2、帮你将检测这部份移到了前面,虽然也打印出来乱码,但可以转嫁到是因为除数为 0 造成的错误
- #include<stdio.h>
- int main()
- {
- float a,b = 1,result;
- char f;
- printf("输入四则运算式子\n");
- scanf("%f%c%f",&a,&f,&b);
- if(f == '/' && b == 0 )
- {
- printf("除数不能为0 ! ");
- printf("mistake ");
- }
- if(f == '+')
- {
- result = a + b;
- }
- else if(f == '-')
- {
- result = a - b;
- }
- else if(f == '*')
- {
- result = a * b;
- }
- else if(f == '/')
- {
- result = a / b;
- }
- printf(" = %.1f\n",result);
- }
复制代码
|
|