c语言问题:关于char 和 switch

#include<stdio.h>
void main()
{
char str[]="SSSWILTCH2\2\223WALL";
char c;
int k;
for(k=2;(c=str[k])!='\0';k++)
{ switch(c)
{
case'A':putchar('a');
continue;
case'2':break;
case 2 :while((c=str[k++])!='\2'&&c!='\0');
case'T':putchar('*');
case'L':continue;
default:putchar(c);
continue;
}
putchar('#');
}
printf("\n");
}

我的问题是:case'2' 和 case 2是什么区别?上面哪个字符表示2?
尽量说详细点,ps:要分的就不好意思了,穷

case 后面的字符就是SWITCH括号里的可能的情况。2当然表示十进制的数了,而'2'则是字符。char str[]="SSSWILTCH2\2\223WALL";这句话里面的字符串SSSWILTCH2\2\223WALL不是既有字符'2',又有数字\2吗,所以就有字符和整型数据的情况。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-11-20
case‘2’的意思是指switch(c)中的c是字符2,而case2是只C是数字2,
第2个回答  2011-11-21
就使用时,char 和 int一般都可以互换的,如printf时%c与%d一般都可以互用。
所不同的是所占字节大小int >char
第3个回答  2011-11-20
'2'表示字符2
2表示数值2
这两个的ASCII码是不同的
相似回答