这样写四则运算计算器 为什么除的部分算出来是是乱码
#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;
} 你 if 那里写了 b = 0 {:10_250:} 灰白 发表于 2020-9-6 17:31
你 if 那里写了 b = 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);
}
页:
[1]