C语言改错:从键盘读取一个表达式,该表达式由两个数和一个算术运算符构成(加、减、乘、除),例如:

30/23.计算并显示该表达式的结果,结果只保留3位小数,例如结果可以显示为:30/23=1.304.【我的解法如下】:#include<stdio.h>
main()
{
float a,b,c;
char r;
printf("请输入一个表达式\n");
scanf("%f %c %f",&a,&r,&b);
if (r=47)
{
c=a/b;
printf("%f%c%f=%.3f\n",a,r,b,c);
}
if (r=43)
{
c=a+b;
printf("%f%c%f=%.3f\n",a,r,b,c);
}
if (r=45)
{
c=a-b;
printf("%f%c%f=%.3f\n",a,r,b,c);
}
if (r=42)
{
c=a*b;
printf("%f%c%f=%.3f\n",a,r,b,c);
}
}
【请问问题出在哪?】

if (r=47)
这是明显的语法错误, 应该是 if (r==47)
温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜