gpt4 book ai didi

c - switch语句和递增

转载 作者:太空狗 更新时间:2023-10-29 15:55:23 28 4
gpt4 key购买 nike

我有以下代码:

int i = 1;
int j = 0;
switch (i++)
{
case 1: j += i;
case 2: j += i;
case 3: j += i;
break;
}
printf("%d %d",i, j);

i++ 表达式将 i 计算为 1,因为它是一个后递增运算符,因此将执行 case 1 中的语句,这意味着 j 的计算结果为 2。然后,程序会不间断地继续执行以下所有语句。因为 i 的值没有改变,所以 j 的值也没有改变。所以我希望输出类似于 2 2 但结果却是 2 6。谁能给我一个解释,谢谢!

最佳答案

Since the value of i does not change, the value of j doesn't either.

不正确。

j += ij = j + i是一样的,i是2一次里面 switch(..) 语句。

执行 3 次 得到 6

关于c - switch语句和递增,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15039068/

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