【发布时间】:2019-06-03 18:23:13
【问题描述】:
我没有得到这个..请帮助我找到评估此代码的方法。 (输入为 3)
int a = 9, b;
scanf("%d", &b);
switch(a+b)
{
case 3:
a+= b * 2 - (a-b);
b = a + b;
default:
a-= b * 2 - (a-b);
b = a - b;
case 9:
a+= a * 3 - (a-b);
b = a/b;
break;
case 5:
a%=b;
}
printf("a = %d\nb = %d\n",a,b);
输入 3 的输出是(实际):
33 5
下面的两个(预期的)不应该是这样吗:
9 6
【问题讨论】:
-
您的
switch语句在大多数case块之后缺少breaks,因此将执行多个案例(包括default案例,因为a+b(12) 不是指定情况之一)。
标签: c switch-statement case