输出结果很奇妙,能请各位朋友解释一下过程吗

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图

#include<stdio.h>
void main()
{
int x = 1, a = 0, b = 0;
switch (x)
{
case1:a++;
case2:a++,;b++;
}
printf("a=%d\n,b=%d\n", a, b);
}

运行结果及报错内容

img

我的解答思路和尝试过的方法
我想要达到的结果

语法错误,望采纳

img

正常来说,你的代码应该已经报错了


#include<stdio.h>
void main()
{
    int x = 1, a = 0, b = 0;
    switch (x)
    {
    case(1):a++;
    case(2):a++, b++;
    }
        printf("a=%d\n,b=%d\n", a, b);
}