输入时是:1,+,2回车这样就对了
别外case 后面一定要有空格即case '+':y=a+b;break;
case '-':y=a-b;break;
case '*':y=a*b;break;
case '/':y=a/b;break;
#include
void main()
{
float a,b,y;
char ch;
printf("欢迎使用迷你计算器\n");
scanf("%f%c%f",&a,&ch,&b);
switch(ch)
{
case'+':y=a+b;break;
case'-':y=a-b;break;
case'*':y=a*b;break;
case'/':y=a/b;break;
}
printf("%f%c%f=%f\n",a,ch,b,y);
}
scanf("%f,%c,%f",&a,&ch,&b); 这句要求你输入格式为:1,+,2回车
如果想输入1+2回车得到结果,这句改为:
scanf("%f%c%f",&a,&ch,&b);
看这条句子scanf("%f,%c,%f",&a,&ch,&b);
你的输入方式应该为为‘1,+,2’。
输入时要输入1,+,2回车,就是scanf里面的东西,有什么输什么,建议把逗号去了,然后运行时直接输入1+2回车就好了。
主要错在输入语句了,你把scanf("%f,%c,%f",&a,&ch,&b);中"%f,%c,%f"的逗号去掉就OK了,输入不需要逗号的。