求这个程序的运作结果和分析

求这个程序的运行结果和分析!
#include <stdio.h>
int main()
{
int i = 0;
while(i < 6)
{
switch(i++)
{
case 0: printf("%d ",i);
case 1: printf("%d ",i);
case 2: printf("%d ",i);
default: printf("%d ",i);
}
printf("\n");
}
return 0;
}


------解决方案--------------------
引用:
引用:4个1是因为你没有break。。switch执行方法是从满足条件那个case开始,顺序往下执行,遇到break跳出,否则下面的case都有被执行
当刚进来的时候i=0,执行case 0:输出的是i++(1);然后满足case 1:输出i++(2);...也不会出现四个一啊!


执行到case1时,并没有执行i++