int k=2; switch(k+1) {case 3:k+=1; case 4:k--;break; case 5:k*=3; case 6:++k; }为什么是2不是3

2026年09月23日 21:49
有5个网友回答
网友(1):

k=2
switch(k+1)就是switch(3) 执行case 3的语句 k+=1 这时k=3
然后因为case 3的语句后没有break,于是继续执行case 4的语句 k-- 这时k=2
然后break,跳出switch语句,k就等于2了

网友(2):

你若想实现满足某个条件执行,然后就不再执行swich里的语句,必须每句后面都加break,因为系统默认逐个执行case语句

网友(3):

int k=2;
switch(k+1)
{case 3:k+=1; 忘记break了
case 4:k--;break;
case 5:k*=3; 忘记break了

case 6:++k; 忘记break了
}

网友(4):

case 3:k+1; \\这里没有break, 所以程序会接着往下运行啊
case 4:k--; break;

网友(5):

不明白你在说什么?