switch 嵌套

来源:百度知道 编辑:UC知道 时间:2024/05/07 02:10:12
#include<stdio.h>
main()
{
int n='1';
switch(n++)
{default:printf("0");break;
case '0':case 'A':case 'b':case 'B':
printf("1");break;
case '1':case 'C':printf("2");
case '2':case 'D':printf("3");
}
}

高手帮我看看,case 里面那些case A,C,D,有什么用。说详细点
n++ 不会等于A,C或者它们的ascii码,为什么最后还是执行了后面的语句?

在ASC||表里面字符A,B,C,D是在字符1到9之后的

没记错的话0的ASC||码是39,A是65

由于有n++,而int n='1'; 相当于n=39

n++ 不会等于A,C或D

但是可以等于他们的ASC||码啊

n定义的是int型的嘛

当switch(n++)中的n等于A的时候执行A之后的语句,等于B时执行B之后的语句

n会议之家下去的,因为你没有定上限

而字母的ASCII马在数字的之后,n肯定会加到字母
所以后面的还会执行
而且还会按顺序全部执行一遍