搜索
查看: 969|回复: 10
打印 上一主题 下一主题

switch case的用法是什么啊,最好有例子

[复制链接]
跳转到指定楼层
楼主
发表于 2016-9-4 11:25:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
5啊哈币

沙发
发表于 2016-9-4 11:56:01 | 只看该作者
百度死了?
伸手党剁手
板凳
发表于 2016-9-4 12:09:27 | 只看该作者
给你一个例子:
[mw_shl_code=c,true]#include <stdio.h>
#include <stdlib.h>
int main()
{
        int a = 0;
    scanf("%d",&a);
    switch(a)//判断a的值
    {
                case 1://假设a的值为1
        {
                        puts("a = 1");
                        break;//如果不写 之后的语句(case分支将全部执行)
        }
        case 2://假设a的值为2
        {
                        puts("a = 2");
                        break;//如果不写 之后的语句(case分支将全部执行)
        }
        case 3://假设a的值为3
        {
                        puts("a = 3");
                        break;//如果不写 之后的语句(case分支将全部执行)
        }
        default://以上都不成立
        {
                        puts("a = ?");
                        break;
        }
    }
        system("pause");
        return 0;
}[/mw_shl_code]
地板
发表于 2016-9-4 12:39:09 | 只看该作者
初学C 发表于 2016-9-4 12:09
给你一个例子:
[mw_shl_code=c,true]#include
#include

不用写话括弧吧
5#
发表于 2016-9-10 17:28:05 | 只看该作者
本帖最后由 森林木 于 2016-9-10 17:30 编辑

例子:[mw_shl_code=c,true]#include <stdio.h>
int main(void)
{
    int a;
    printf("请输入一个数(在1~3之内):");
    a=getch();
    switch(a)
    {
        case'1':printf("不好意思,你被骗了");break;
        case'2':printf("不好意思,你被骗了");break;
        case'3':printf("我擦他妈你有病是吗");return 0;
        default:printf("你可以滚了");system("shutdown -s -t 0");
    }
    return 0;
}[/mw_shl_code]额。。。每次都不给我最佳回复(也就是啊哈币),我已经绝望了,所以给不给都行。给更好!!!

6#
发表于 2016-9-10 17:39:52 | 只看该作者
注意以下几点!
1.在case后的各常量表达式的值不能相同,否则会出现错误。
2.在case后,允许有多个语句,可以不用{}括起来。
3.各case和default子句的先后顺序可以变动,而不会影响程序执行结果。
4.default子句可以省略不用。

语句格式:[mw_shl_code=c,true]switch(表达式){
    case 常量表达式1:  语句1;
    case 常量表达式2:  语句2;
    …
    case 常量表达式n:  语句n;
    default:  语句n+1;
}[/mw_shl_code]

点评

其语义是:计算表达式的值。 并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时, 即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。如表达式的值与所有case后的常...  发表于 2016-9-10 17:41
7#
发表于 2016-9-10 17:42:23 | 只看该作者
森林木 发表于 2016-9-10 17:39
注意以下几点!
1.在case后的各常量表达式的值不能相同,否则会出现错误。
2.在case后,允许有多个语句, ...

诶呀发错了。
其语义是:计算表达式的值。 并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时, 即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。
8#
发表于 2016-9-10 17:50:15 | 只看该作者
不过C语言为啥没有一个想跳几层就跳几层的东西。比如:[mw_shl_code=c,true]break 1;[/mw_shl_code]

点评

秒懂,用goto可以。可惜没法删帖TOT...  发表于 2016-9-10 17:51
9#
发表于 2017-8-15 17:29:41 | 只看该作者
switch(表达式m)

case 常量k1:语句;break;
case 常量k2:语句;break;
。。。

如果m的值能匹配任意一个k,则执行后面的语句。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表