在C语言中switch后面表达式可以是什么类型的

我查过很多书大部分说表达式只能是整型和字符型的,但是谭浩强出版的《C程序设计第二版》说switch后面括弧内“表达式”,ANSI标准允许它为任何类型。到底哪个是正确的!!... 我查过很多书大部分说表达式只能是整型和字符型的,但是谭浩强出版的《C程序设计 第二版》说switch后面括弧内“表达式”,ANSI标准允许它为任何类型。到底哪个是正确的!!!??? 展开
 我来答
莫道無情
2019-07-08 · TA获得超过1.5万个赞
知道答主
回答量:317
采纳率:100%
帮助的人:8.1万
展开全部

都正确。switch语句都必须遵循规则如下:

只能针对基本数据类型中的整型类型使用switch,这些类型包括int、char等。对于其他类型,则必须使用if语句

switch()的参数类型不能为实型 。

case标签必须是常量表达式(constantExpression),如42或者'4'。

case标签必须是惟一性的表达式;也就是说,不允许两个case具有相同的值。

扩展资料:

语法

C语言程序语句

Switch用在编程中,如C语言中它经常跟Case一起使用,是一个判断选择代码。其功能就是控制流程流转的。

直线翻译:switch语句,即“切换”语句;case即“情况”。

switch语句的语法如下(switch,case,break和default是关键字):

switch ( 变量表达式 )

{

case 常量1 :语句;break;

case 常量2 :语句;break;

case 常量3 :语句;break;

...

case 常量n:语句;break;

default :语句;break;

}

当常量表达式所表达的量与其中一个case语句中的常量相符时,就执行此case语句后面的语句,并依次下去执行后面所有case语句中的语句,除非遇到break;语句跳出switch语句为止。如果常量表达式的量与所有case语句的常量都不相符,就执行default语句中的语句。

参考资料:百度百科-switch

乙怜雪续武
2020-02-05 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:33%
帮助的人:529万
展开全部
都正确。switch语句都必须遵循规则如下:
只能针对基本数据类型中的整型类型使用switch,这些类型包括int、char等。对于其他类型,则必须使用if语句。
switch()的参数类型不能为实型

case标签必须是常量表达式(constantExpression),如42或者'4'。
case标签必须是惟一性的表达式;也就是说,不允许两个case具有相同的值。
扩展资料:
语法
C语言程序语句
Switch用在编程中,如C语言中它经常跟Case一起使用,是一个判断选择代码。其功能就是控制流程流转的。
直线翻译:switch语句,即“切换”语句;case即“情况”。
switch语句的语法如下(switch,case,break和default是关键字):
switch
(
变量表达式
)
{
case
常量1
:语句;break;
case
常量2
:语句;break;
case
常量3
:语句;break;
...
case
常量n:语句;break;
default
:语句;break;
}
当常量表达式所表达的量与其中一个case语句中的常量相符时,就执行此case语句后面的语句,并依次下去执行后面所有case语句中的语句,除非遇到break;语句跳出switch语句为止。如果常量表达式的量与所有case语句的常量都不相符,就执行default语句中的语句。
参考资料:搜狗百科-switch
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
看灰过来了
2013-04-10 · TA获得超过879个赞
知道小有建树答主
回答量:508
采纳率:83%
帮助的人:291万
展开全部
刚才试了一下,我定的是float类型,编译的时候 提示错误,说 switch后的表达式不是整型,那就表明,这个表达式只能是整型和字符型。(因为字符的数字特性,所以也可看做是整型)
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2013-04-10 · TA获得超过3954个赞
知道大有可为答主
回答量:1636
采纳率:77%
帮助的人:1218万
展开全部
整形包括: char、 wchar_t、 int、 long 、long long.
switch(表达式) 这里的表达式的结果类型我个人觉得必须是整形,也就是上述类型之一.
具体表达式是怎么样的,这不重要,只要有个整形的值就可以了。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
温暖辰子白墨
2019-01-03 · TA获得超过6782个赞
知道答主
回答量:110
采纳率:0%
帮助的人:28.2万
展开全部
switch后面表达式值的类型可以是int,char,long,但不能是double
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(8)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式