鱼C论坛

 找回密码
 立即注册
查看: 2377|回复: 8

[已解决]switch语句求教

[复制链接]
发表于 2018-3-1 13:19:47 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include <stdio.h>

char *getWord(char);

char *getWord(char c)
{
        switch(c)
        {
                case 'A': return "Apple";
                case 'B': return "Banana";
                case 'C': return "Cat";
                case 'D': return "Dog";
                default: return "None";
        }
}

int main()
{
        char input;

        printf("请输入一个字母:");
        scanf("%c", &input);

        printf("%s\n", getWord(input));

        return 0;
}


为什么这里case后面不加break也能正常显示运行啊
最佳答案
2018-3-1 13:31:01
因为执行return的时候这个函数就结束了
和break作用一样
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-3-1 13:31:01 | 显示全部楼层    本楼为最佳答案   
因为执行return的时候这个函数就结束了
和break作用一样
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-1 14:24:23 | 显示全部楼层
你可以把每个case当做一个入口~
打个比方~
比如 和 第二个case成立了。 他就会从第二个case开始,一直往下执行~ 第二个。第三个。第四个。第五个。。。。。
那为什么需要一个break呢?

break 不是必须的~ 你可以认为他是可选项~
再打个比方~
比如 又第二个case成立了~还是往下读 在第二个case的末尾看到了break,那他还会继续往下读吗。答案是不会~ 你可以认为break在switch里面 是用来中止switch的~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-1 16:42:15 | 显示全部楼层
因为加break只是在你想要的地方停下来,所以加不加都会使程序完整运行,只是不加的话程序会输出switch里面的所有case,而加了break就会执行下去,直到遇到第一个break才会退出。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-2 14:51:29 | 显示全部楼层
char *getWord(char c)
{
        switch(c)
        {
                case 'A': return "Apple";
                case 'B': return "Banana";
                case 'C': return "Cat";
                case 'D': return "Dog";
                default: return "None";

每个函数只能返回一个return  即便执行了后面的语句 也只能返回第一个return
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-2 21:34:07 | 显示全部楼层
当执行到第一个return后,后面的代码全都不执行了,直接返回第一个return的结果
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-3 17:41:08 | 显示全部楼层
return 结束了这个函数并返回了一个值。
break 在switch中也代表结束,但是根据需求添加,如果不添加,程序会继续执行,直到遇到break或函数结束为止。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-3 22:03:24 From FishC Mobile | 显示全部楼层
从执行return的地方直接把这个函数结束了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-3 22:34:12 | 显示全部楼层
return 的时候就已经结束了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-1 15:16

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表