| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 618 人关注过本帖
标题:请教关于switch的使用问题
取消只看楼主 加入收藏
windofland
Rank: 2
等 级:论坛游民
帖 子:27
专家分:12
注 册:2010-12-1
收藏
 问题点数:0 回复次数:2 
请教关于switch的使用问题
switch的基本形式如下:
switch(表达式)
{
    case 常量表达式1:语句1;
    case 常量表达式2:语句2;
    case 常量表达式3:语句3;
   
   
   
    case 常量表达式n:语句n;
    default         :语句n+1;
}
那么
问题1:
case后面只能跟着常量么?类似于a>10&&a<=100,这样的能用么?
问题2:
常量表达式后面跟的语句1到语句n,都只能有一句么?不能复合语句么?如果可以用复合语句,那么是不是必须用{}给引起来?
搜索更多相关主题的帖子: 表达式 default 
2011-11-07 21:33
windofland
Rank: 2
等 级:论坛游民
帖 子:27
专家分:12
注 册:2010-12-1
收藏
得分:0 
回复 2楼 小先生
ls没看明白我说的第二个问题,以下面的程序为例:
程序代码:
#include<stdio.h>
#include<windows.h>

void main()
{
    float x;
    int a;
    scanf("%f",&x);
    if(x>100||x<0)
        a=-1;
    else
        a=(int)(x/10);
    switch(a)
    {
        case -1:printf("errer\n");break;
        case 0:
        case 1:
        case 2:
        case 3:
        case 4:
        case 5:printf("E\n");break;
        case 6:printf("D\n");break;
        case 7:printf("C\n");break;
        case 8:printf("B\n");break;
        case 9:
        case 10:printf("A\n");break;
    }
    system("pause");
}

以case5为例,这块是switch的语句部分,break表示的是中断switch
我想问的是:break之前的这部分难道只能写一个语句么?比如只写【printf("E\n");】,不能再写其他的语句么?比如【printf("E\n");printf("%3.1f\n",x);】?


[ 本帖最后由 windofland 于 2011-11-7 22:10 编辑 ]
2011-11-07 22:08
windofland
Rank: 2
等 级:论坛游民
帖 子:27
专家分:12
注 册:2010-12-1
收藏
得分:0 
原来是这样,谢谢了
2011-11-07 22:24
快速回复:请教关于switch的使用问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.034811 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved