#include<stdio.h>
int main(void)
{
float a,c,d;
char b;
scanf("%f%c%f",&a,&b,&c);
while(b!='#')
{
if(b=='/')
{
if(c==0)
printf("除数不能为0\n");
d=a/c;
printf("%f",d);
continue;
}
else if(b=='*')
{
d=a*c;
printf("%f",d);
continue;
}
else if(b=='+')
{
d=a+c;
printf("%f",d);
continue;
}
else if(b=='-')
{
d=a-c;
printf("%f",d);
continue;
}
else
printf("符号错误");
continue;
}
}
因为是在while前输入的数据,循环过程中这个数据一直存在。
把scanf("%f%c%f",&a,&b,&c); while(b!='#'){改成while(scanf("%f %c%f",&a,&b,&c)==3 && b!='#'){。
把所有的continue;删除。
==3有什么用?
追答==3就说明输入完全成功了,!=3则说明输入不成功或不完全成功。
追问哦,==3指前面输入的3个字符嘛
追答哦,==3指前面输入的3个字符嘛——是,是三个接收变量。