你的
if(a=0)
不是判断,是赋值,就是将a赋为0了
正确的
if(a==0)
另外,你的sum没有初值
再有
你的a是int的,你却用%f,这个也是错的
改好的
#include
int main()
{
float a;
float sum;
char x;
printf("请输入计算式:");
scanf("%f",&a);
sum=a;
for(; (x=getchar())!='=';)
{
scanf("%f",&a);
switch(x)
{
case'+':
sum+=a;
break;
case'-':
sum-=a;
break;
case'*':
sum*=a;
break;
case'/':
{
if(a==0)
printf("计算式错误");
else
sum/=a;
}
break;
}
}
printf("计算结果为:%f",sum);
return 0;
}
测试
PS:to:zzj11111
/不是C的转义符,\才是,这个是很基础的了,是程序员的话不会搞错的