那位高手可以帮忙解释一下这道程序题啊 结果是31

来源:百度知道 编辑:UC知道 时间:2024/06/18 22:43:35
main() {int a, i;a=0; for(i=1;i<5;i++)
{switch(i)
{case 0:
case 3: a+=2;
case 1;
case 2;a+=3;
defalt:a+=5;}}
printf("%d\n",a);}

可以看出,在for循环中,i的可能取值为1,2,3,4,循环体执行四次。当i等于1时,从switch语句的case 1进入,因为case 1后没有break语句,所以会再执行case 2后的语句,同理还会进入defalt中执行。之后switch段执行完,进入下一循环,i等于2,之后的执行过程与i等于1时类似。你可以自己算一下,也可以跟踪程序看执行的顺序。

您好!这是金山备份文件夹,请安心使用