关于C语言中的switch语句变量类型的问题

来源:百度知道 编辑:UC知道 时间:2024/05/28 17:31:59
C语言的switch()语句中,小括号中的变量类型有没有限制?
如果有限制,又是限制了哪几种变量类型
谢谢各位解答!!

switch的变量必须是整数。char, int, short, long等等。float不行。
可以对常量switch。
括号里面的标签可以任意写。把default拼写错也没关系。
case之后必须是常量。

switch有个特殊用途,例如,做加减法运算,对于减法可以将减数先求相反数,然后再进行加法运算。可以这样写:
switch(operator)
{
case '-': operand2 = -operand2;
case:'+': .....
}
这样在处理减法时就多了求相反数的操作,然后就和加法一样了。
这个用法好像是在c陷阱与缺陷里看到的。

这道题我在华为面试时遇到过结果答错了,后来翻了一下书才知道ANSI标准允许它为任何类型!

可以是表达式,字符,整数常量,但值必须是整数

switch(t)
其中t只能是int,byte,short,char数据类型,不能是long、boolean、float或double类型。