switch的作用和case的作用

[复制链接]
查看11 | 回复2 | 2008-11-12 16:18:05 | 显示全部楼层 |阅读模式
main()
{int a=0,i;
for(i=1;i<5;i++)
{switch(i)
{case 0:
case 3:a+=2;
case 1:
case 2:a+=3;
default:a+=5;
}
}
printf("%d\n",a);
}
上面的算法是怎么计算,把第一循环能不能详细讲一下;
为什么不是case 1;case 2;case 3
default也要执行

回复

使用道具 举报

千问 | 2008-11-12 16:18:05 | 显示全部楼层
i=1时执行:case 1: case 2:a+=3; default:a+=5; i=2时执行:case 2:a+=3; default:a+=5; i=3时:case 3:a+=2; case 1: case 2:a+=3; default:a+=5; case后无break就会顺序执行其后的其他case...
回复

使用道具 举报

千问 | 2008-11-12 16:18:05 | 显示全部楼层
又发了一遍,要在case后使用break,或者continue,这样就不会执行下面的case了...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行