一道C语言题请教高手

2025-01-07 23:09:46
推荐回答(2个)
回答1:

关键在于break这个关键字 如果你不在case后面加break
那么他将继续执行下面的case 比如说i=1时
应该执行case 1 case1后面没东西 他将执行case2 a+=3 得a=3 然后执行case3直到default 跳出switch
如果加上break 哪结果就不一样了 当i=1时 直接执行case1 然后跳出switch
void main()
{int a=0,i;
for(i=1;i<5;i++)
switch(i)
{ case 0:;break;//要带break
case 3:a+=2;break;
case 1:;break;
case 2:a+=3;break;
default:a+=5;break;
}
printf("%d",a);
}
上面程序输出10

回答2:

这题目有毛病
i一开始是个随机数
根本没什么意义!

重新发遍完整程序 帮你做