for语句嵌套switch语句的问题


#include<stdio.h>
 main()
{
int c=0,k;
for(k=1;k<3;k++)
switch(k)
{
    default: c+=k;
    case 2: c++; break;
    case 4: c+=2; break;
}
printf("%d",c);

for语句是循环2次,第一次C=1,第二次C++,c=2,是我哪款理解错了吗

因为你default在前面,然后没有break,所以第一次循环是执行c+=k后又执行了case 2才跳出switch

default那行少了break;