C语言的switch case 语句的case 常量 能匹配字符串常量吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言的switch case 语句的case 常量 能匹配字符串常量吗?相关的知识,希望对你有一定的参考价值。

比如说
switch(××)

case "i love you !":printf("M\n");break;
case "i love !":printf("uggu\n");break;
....



如果可以。能写个例子吗。switch里面要填写什么?
小弟谢谢各位了。。分数不多。。

  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语句
参考技术A 应该是不可以的。
但是你可以多增加一步,在swich前调用compare函数,比较你得到的字符串和你的case中的字符串,得到-1,0,1再进行swich。
不过我想这样应该不会方便,还不如用if...else if...else来的快哦!
swich语句的局限性还是蛮大的,处理这种复杂数据、复杂逻辑的时候最好用if~
参考技术B 不可以匹配字符串长量的.最大可以匹配一个int型的变量或常量.
switch 里面一般是填变量名.

大概是这样
int a;
switch(a)

case 1: break;
case 2:break;
default: break;
本回答被提问者采纳

以上是关于C语言的switch case 语句的case 常量 能匹配字符串常量吗?的主要内容,如果未能解决你的问题,请参考以下文章

C语言 回滚技术 switch case

C语言的switch语句中case后()

c语言中while 、for、switch、case的用法?

C语言switch case后如何执行多条命令

关于C语言switch语句问题

case语言怎么用