switch语句求教
#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也能正常显示运行啊 因为执行return的时候这个函数就结束了
和break作用一样 你可以把每个case当做一个入口~
打个比方~
比如 和 第二个case成立了。 他就会从第二个case开始,一直往下执行~ 第二个。第三个。第四个。第五个。。。。。
那为什么需要一个break呢?
break 不是必须的~ 你可以认为他是可选项~
再打个比方~
比如 又第二个case成立了~还是往下读 在第二个case的末尾看到了break,那他还会继续往下读吗。答案是不会~ 你可以认为break在switch里面 是用来中止switch的~ 因为加break只是在你想要的地方停下来,所以加不加都会使程序完整运行,只是不加的话程序会输出switch里面的所有case,而加了break就会执行下去,直到遇到第一个break才会退出。 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 当执行到第一个return后,后面的代码全都不执行了,直接返回第一个return的结果 return 结束了这个函数并返回了一个值。
break 在switch中也代表结束,但是根据需求添加,如果不添加,程序会继续执行,直到遇到break或函数结束为止。 从执行return的地方直接把这个函数结束了 return 的时候就已经结束了
页:
[1]