switch(g/10)
{
case 10:
case 9:printf("A\n");
case 8:printf("B\n");break
这程序大概就如此,课本:当表达式的值与某一个case后面的常量表达式的值一样时
则执行case后面的语句,否则,执行default后面的语句。
然而当我输入g=90时,它怎么还输出B??
书本的 说法并没错,只是有点歧义。
case 8也是case 9后面的语句,不是吗。
case 9:printf("A\n");后面少一个break;
执行case后面的语句,遇到break退出,否则一直往下执行,哪怕有另一个case
case只是选择从哪个地方开始执行,执行到break结束跳出
课本的解释没错啊,你输入90,得出的结果是9,执行case9后面的内容,由于你print()后面没有break,所以它会继续执行后面的case8,直到遇到break
课本的解释没错啊,你输入90,得出的结果是9,执行case9后面的内容,由于你print()后面没有break,所以它会继续执行后面的case8,直到遇到break