gpt4 book ai didi

无法理解输入 3 的 switch 语句的输出

转载 作者:太空宇宙 更新时间:2023-11-04 02:21:55 25 4
gpt4 key购买 nike

我没有得到这个..请帮我找到评估这段代码的方法。(输入为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 的输出是(实际的):

335

后面的两个(预期的)不应该是这样的吗:

96

最佳答案

3default 情况的末尾没有 break 语句,因此代码失败 以下情况,直到遇到 break 或直到 switch 结束。

一定要在每个 case 之后添加一个 break。此外,default 大小写按照惯例应该放在底部:

switch(a+b)
{
case 3:
a+= b * 2 - (a-b);
b = a + b;
break;
case 9:
a+= a * 3 - (a-b);
b = a/b;
break;
case 5:
a%=b;
break;
default:
a-= b * 2 - (a-b);
b = a - b;
break;
}

关于无法理解输入 3 的 switch 语句的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56432648/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com