C语言的switch case 语句的case 常量 能匹配字符串常量吗?
发布网友
发布时间:2022-04-28 21:06
我来回答
共3个回答
热心网友
时间:2022-06-23 05:04
C语言的switch case 语句的case不能匹配字符串常量,只能匹配整型类常量,如int short long char.
switch用法格式:
switch ( 表达式)
{
case 常量表达式1:
语句1;
[break;] 中括号,表示此语句可以没有
case 常量表达式2:
语句2;
[break;]
……
case 常量表达式n:
语句n;
[break;]
[default:]
语句n+1;
[break;]
}
说明:
break 表示退出{ }
case后面只能跟一个值(加冒号:),而不能是一个表达式
switch(表达式) 后面没有分号(;)
{}前后没有分号(;)
default语句可以出现在任何位置,但建议写到最后,表示除去case匹配之外的其它情况。也可以没有default语句
热心网友
时间:2022-06-23 05:05
应该是不可以的。
但是你可以多增加一步,在swich前调用compare函数,比较你得到的字符串和你的case中的字符串,得到-1,0,1再进行swich。
不过我想这样应该不会方便,还不如用if...else if...else来的快哦!
swich语句的局限性还是蛮大的,处理这种复杂数据、复杂逻辑的时候最好用if~
热心网友
时间:2022-06-23 05:05
不可以匹配字符串长量的.最大可以匹配一个int型的变量或常量.
switch 里面一般是填变量名.
大概是这样
int a;
switch(a)
{
case 1: break;
case 2:break;
default: break;
}