帮我看看这个简易计算器的c程序有什么问题,并根据我的改进一下

一直有报错,大神帮我看看问题出在哪里,并且多写出一个除数等于0报错的状态。谢谢,x后面是用ASCII码代替

#include<stdio.h>
void main()
{
float a=0,b=0,c=0;
char x;
scanf("%f%c%f=,&a,&x,&b);
if(x==43)
{
c=a+b;
printf("%f+%f=%f,a,b,c);
break;
}
if(x==45)
{
c=a-b;
printf("%f-%f=%f,a,b,c);
break;
}
if(x==42)
{
c=a*b;
printf("%f*%f=%f,a,b,c);
break;
}
if(x==47)
{
c=a/b;
printf("%f/%f=%f,a,b,c);
break;
}
最新回答
花开宿语

2024-10-14 09:14:24

请问你这个程序是用来解决什么问题的?另外帮你指出一些错误。

  1. a,b你已经赋值了,就不需要scanf输入了。

  2. scanf("%c",&x);这才是正确的格式,你都丢了一个引号。

  3. 程序中并没有用到循环语句,break是不需要的。

追问
那用if可以吗,我看大部分人都是用switch的,就是做一个简易的加减乘除的计算器
追答
可以啊,switch和for都是循环语句