C语言:switch()的括号里可以放数组名吗?

来源:百度知道 编辑:UC知道 时间:2024/06/09 18:01:57
把一个字符数组名放在switch括号里,编译时总提示case行缺少常量表达式或其他问题,总之都不理想。如(部分):switch(ay)/*ay为已定义的字符数组*/
{case "ab":...
case "cd":...
...}
如果想让switch后的括号里的表达式为字符串那要怎么样写呢?

switch()的括号里不可以放数组名,只能放整形数据(bool char int long 等)。如果一定要用数组名,可以用if else 实现

#include<cstring>
或#include<string.h>

if(!strcmp(ay,"ab"))
{
}
else if(!strcmp(ay,"cd"))
{
}
……
else
{
}

不能。
只能是整型数或字符型

不可以...

you can't