void main()
{
char name[20];
printf("\n enter Your Name: ");
gets(name);
switch(name)
{
default : printf( "Invalid" );
}
getch();
}所以我的问题是:在switch的表达式中,char数组或简单数组是否有效,如果有效,那么case值是什么?
发布于 2011-09-28 12:37:04
switch语句使用字符数组的地址作为参数。所以不,它不会像你期望的那样工作。
它遵循了同样的原因,你不能把字符串扔到一个开关中,然后期望它能工作。(与字符串比较相同)
发布于 2011-09-28 14:19:23
不,标准是这样说的
switch语句的控制表达式应为整数类型。
在本例中,将采用字符串的地址,在这方面,它不被认为是整数。
发布于 2011-09-28 12:46:36
不你不能。您将需要创建一个字符数组(字符串)数组。搜索它们以将其转换为and integer (索引到该数组)并使用它。
https://stackoverflow.com/questions/7578353
复制相似问题