|
6鱼币
#include <stdio.h>
int main()
{
int x = 0,y = 2,z = 3;
switch (x)
{
case 0 :switch(y == 2)
{
case 1:printf("*");break;//根据检验输出了这个case1和下一个default,但是我不能理解为什么y==2 会和case1进行匹配
case 2:printf("%");break;
}
case 1 :switch(z)//还有为什么还会执行这个case1?
{
case 1:printf("$");
case 2:printf("*");break;
default :printf("#");//和这个default
}
}
return 0;
}
本帖最后由 傻狍子嗷 于 2019-12-24 21:03 编辑
- #include <stdio.h>
- int main()
- {
- int x = 0,y = 2,z = 3;
- switch (x)
- {
- case 0 :
- switch(y == 2)
- //此处y==2是判断y是否等于2,你这里y是等于
- 2,所以y==2的结果是1(即为真)。
- {
- case 1:
- printf("*");
- break;//根据检验输出了这个case1和下一个default,但是我不能理解为什么y==2 会和case1进行匹配
- // 如上所述,此处与case 1配对。
- case 2:
- printf("%");
- break;
- }
- case 1 :
- switch(z)//还有为什么还会执行这个case1?
- // 运行后发现不会执行case1,因为没有匹配项,所以执行default。
- {
- case 1:
- printf("$");
- case 2:
- printf("*");
- break;
- default :
- printf("#");//和这个default
- }
- }
- return 0;
- }
复制代码
另外,以后发帖记得加code
|
|