鱼C论坛

 找回密码
 立即注册
查看: 4080|回复: 11

C switch语句的问题

[复制链接]
发表于 2012-10-15 10:28:40 | 显示全部楼层 |阅读模式
3鱼币
  1. #include<stdio.h>
  2. int main()
  3. {char grade='C';
  4. switch(grade)
  5. {case'A':printf("85-100\n");
  6. case'B':printf("70-84\n");
  7. case'C':printf("60-69\n");
  8. case'D':printf("60\n");
  9. default:printf("error!\n");
  10. }
  11. return 0;
  12. }
复制代码


为什么连60 也输出?

最佳答案

小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-10-15 10:28:41 | 显示全部楼层
  1. #include<stdio.h>
  2. int main()
  3. {char grade='C';
  4. switch(grade)
  5. {case'A':printf("85-100\n");          //后面要加break;啊,去看看小甲鱼老师的c视频吧。
  6. case'B':printf("70-84\n");            //有关这个的讲解在分支结构程序设计第四集。
  7. case'C':printf("60-69\n");
  8. case'D':printf("60\n");
  9. default:printf("error!\n");
  10. }
  11. return 0;
  12. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-10-15 10:48:03 | 显示全部楼层
error! 也输出?求解
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-10-15 10:56:07 | 显示全部楼层
#include<stdio.h>
int main()
{char grade='C';
switch(grade)
{
case'A':printf("85-100\n");break;

case'B':printf("70-84\n");break;

case'C':printf("60-69\n");break;

case'D':printf("60\n");break;

default:printf("error!\n");break;

}
return 0;
}
少 break;
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-10-15 11:12:05 | 显示全部楼层
最后不用加break; 吧?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-10-15 11:12:15 | 显示全部楼层
因为没有break 它会全部执行
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-10-15 13:08:51 | 显示全部楼层
case 后面最好加break     没加break就会继续往下执行
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-10-15 13:36:21 | 显示全部楼层
case后面的值不是用来比较的条件,只是一个简单的标识,一个入口,一旦switch后面的值与case后面的值一致,就会执行后面的所有语句,直至swithc语句结束
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-10-15 13:37:21 | 显示全部楼层
如果想要提前结束switch语句,就得加break语句
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-10-15 18:14:15 | 显示全部楼层
好  非常感谢
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-10-20 12:09:32 | 显示全部楼层
#include<stdio.h>
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-10-20 12:10:07 | 显示全部楼层
#include<stdio.h>

int main()

{char grade;
scanf("%c",&grade);

switch(grade)

{
case 'A':printf("85-100\n"); break;
case 'B':printf("70-84\n");  break;        
case 'C':printf("60-69\n");break;
case 'D':printf("60\n");break;
default :printf("error!\n");break;

}

return 0;

}
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-15 16:16

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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