为什么switch不出结果啊
同标题,最后发现switch的结果完全输出不出来 请检查以下几点,看看你的 `switch` 语句为什么没有输出结果:1. 确保 `switch` 变量的值匹配 `case`
`switch` 语句会根据变量的值匹配 `case`,如果没有匹配的 `case`,则不会执行任何代码。
2. `case` 语句后面是否有 `break`
如果 `case` 语句后面没有 `break`,可能会导致意外的执行流。
3. 是否有 `default` 语句
如果所有 `case` 都不匹配,`default` 语句可以提供一个默认输出。
4. 变量类型是否匹配
`switch` 语句的匹配是严格匹配(`===`),如果 `switch` 变量的类型和 `case` 语句的值类型不同,可能不会匹配。
示例代码:
#include <stdio.h>
int main() {
int num = 2;
switch (num) {
case 1:
printf("数字是 1
");
break;
case 2:
printf("数字是 2
");
break;
default:
printf("未匹配任何 case
");
}
return 0;
}
如果你的 `switch` 语句仍然没有输出,请提供你的代码,我可以帮你检查具体问题!
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 兄弟,没头没脑的,怎么就 "switch 不出结果" 了,把你的代码贴出来让大家看看呢。 #include <stdio.h>
#include <stdlib.h>
int main()
{
int fenshu;
char grade;
scanf("%d",&fenshu);
switch(fenshu)
{
case'90=<fenshu':grade='A';break;
case'80=<fenshu&&fenshu<90':grade='B';break;
case'70=<fenshu&&fenshu<80':grade='C';break;
case'60=<fenshu&&fenshu<70':grade='D';break;
case'fenshu<60':grade='E';break;
}
printf("grade=%c",grade);
return 0;
} jackz007 发表于 2025-3-12 22:06
兄弟,没头没脑的,怎么就 "switch 不出结果" 了,把你的代码贴出来让大家看看呢。
抱歉小白第一次用这个论坛,在<>上传了不知道为啥没显示,代码又在下面传了一遍 本帖最后由 jackz007 于 2025-3-13 22:40 编辑
199992 发表于 2025-3-13 19:26
抱歉小白第一次用这个论坛,在上传了不知道为啥没显示,代码又在下面传了一遍
【关键】:switch(v)... case 分支中 case 后面必须是一个立即数(或者,在编译时就已经能够确定数值的表达式,其中不可以含有变量),不可以是逻辑表达式。
#include <stdio.h>
int main(void)
{
int fenshu ;
scanf("%d" , & fenshu) ;
switch(fenshu / 10)
{
case 10 : switch(fenshu % 10)
{
case 0: printf("grade = A\n") ; break ;
default : printf("invalid fenshu %d\n" , fenshu) ; break ;
}
break ;
case9 : printf("grade = A\n") ; break ; // case 后面必须是常数
case8 : printf("grade = B\n") ; break ; // case 后面必须是常数
case7 : printf("grade = C\n") ; break ; // case 后面必须是常数
case6 : printf("grade = D\n") ; break ; // case 后面必须是常数
case5 :
case4 :
case3 :
case2 :
case1 :
case0 : printf("grade = E\n") ; break ; // case 后面必须是常数
default : printf("invalid fenshu %d\n" , fenshu) ;
}
return 0 ;
} jackz007 发表于 2025-3-13 21:59
【关键】:switch(v)... case 分支中 case 后面必须是一个立即数(或者,在编译时就已经能够 ...
谢谢楼主,知道了
页:
[1]