这段代码答案是2 0 但是我不清楚它过程是咋样的 求详解

void main()
{
int n=5;
do{
switch(n%2)
{
case 0:n--;break;
case 1:n--;continue;
}
n--;
printf("%2d",n);
}while(n>0);
return 0;

第一次到case1,n变为4,然后continue再走一次switch,到case0,n变为3,然后退出switch,输出2