C 简易计算器,减法如何实现
int main(){
float a1, a2;
char ch;
float result;
bool invalid = false;
printf("请输入式子:");
scanf("%f %c %f", &a1, &ch, &a2);
switch (ch)
{
case '-':
a2 = -a2; //no break
case '+':
result = a1 + a2;
break;
case '*':
result = a1 * a2;
break;
case '/':
if (a2 != 0)
{
result = a1 / a2;
break;
}
else
{
invalid = true;
break;
}
}
红色线的减法操作是如何实现的,求大佬解答一下。 switch语句的case之后如果不加break就会继续向下执行因为a2=-a2下一个语句为a1+a2所以就为a1+(-a2)就是a1-a2因为这句有beak所以之后就停止,也就是实现了减法
页:
[1]