请教一下简单的计算器问题
#include<stdio.h> void main()
{
char ch;
float a,b,max;
scanf("%f%c%f",&a,&ch,&b);
switch(ch)
{
case '+':max=a+b;printf("%.2f",max);break;
case '-':max=a-b;printf("%.2f",max);break;
case '*':max=a*b;printf("%.2f",max);break;
case '/':
if(b==0) printf("error\n");
else max=a/b;printf("%.2f",max);
}
printf("%\n");
}
我想问下 为什么我把输入语句 scanf("%f%c%f",&a,&ch,&b);
改为 scanf("%f%f%c",&a,&b,&ch); 就得不出结果?
还有,输入语句默认的分隔符号不是空格符吗? 为什么这里不能用空格符 用了得不出结果
也就是说只能一次输完,输入的格式为 3-2 而不能3 - 2
还有 最后的除法时 case '/':
if(b==0) printf("error\n");
else max=a/b;printf("%.2f",max);
输入的数b=0的时候 输出的是error 然后还输出了句乱码
以前的两个问题没弄懂 希望大虾门指点下