注册 登录
编程论坛 C++教室

救救孩子,还没学这个,有没有大佬解决一下,告诉一下答案和原理不?

爱吃虾条的鱼 发布于 2022-04-04 18:00, 1088 次点击
#include <stdio.h>

main()

{ int x=1,y=0,a=0,b=0;

switch( x )

{ case 1:

switch(y)

{ case 0: a++;

case 1: b++;break;

}

case 2:a++;b++;break;

}

printf("a=%d,b=%d\n",a,b);

}
1 回复
#2
rjsp2022-04-05 01:43
不知所云,而且代码不排版

先排版代码
程序代码:
#include <stdio.h>

int main( void )
{
    int x=1, y=0, a=0, b=0;

    switch( x )
    {
    case 1:
        switch( y )
        {
        case 0: a++; // 这里没有 break;
        case 1: b++; break;
        }
        // 这里没有 break;
    case 2:
        a++;
        b++;
        break;
    }

    printf( "a=%d, b=%d\n", a, b );
}


然后把常数代入进去
程序代码:
#include <stdio.h>

int main( void )
{
    int a=0, b=0;

    switch( 1 )
    {
    case 1:
        switch( 0 )
        {
        case 0: a++; // 这里没有 break;
        case 1: b++; break;
        }
        // 这里没有 break;
    case 2:
        a++;
        b++;
        break;
    }

    printf( "a=%d, b=%d\n", a, b );
}


去掉switch
程序代码:
#include <stdio.h>

int main( void )
{
    int a=0, b=0;

    {
        {
        a++;
        b++;
        }

        a++;
        b++;
    }

    printf( "a=%d, b=%d\n", a, b );
}
1