求助!看看这个switch语句哪里出问题了!
#include<stdio.h>int main()
{
int a,b;
scanf("%d",&a);
b=a/10;
printf("%d",b);
switch(b)
{
case '9':printf("A\n");break;
case '8':printf("B\n");break;
case '7':printf("C\n");break;
case '6':printf("D\n");break;
default :printf("E\n");
}
return 0;
} case 后面数字不要添加单引号,前后数据类型都不一样了 本帖最后由 昨非 于 2020-11-13 08:32 编辑
#include<stdio.h>
int main()
{
int a, b;
scanf("%d", &a);
b = a / 10;
printf("%d", b);
switch (b) //这里b是整型,所以下面的case后也应该是整型常量,加''后就是字符了,去掉‘’就好了
{
case 9:printf("A\n"); break;
case 8:printf("B\n"); break;
case 7:printf("C\n"); break;
case 6:printf("D\n"); break;
default:printf("E\n");
}
return 0;
} 本帖最后由 风过无痕1989 于 2021-1-4 10:33 编辑
由于输入的整数a,可以无节制,所以,第7行应该是取余运算
#include<stdio.h>
int main()
{
int a,b;
scanf("%d",&a);
b = a % 10; // 正确的应该是取10的余数,而不是除以10
printf("%d",b);
switch(b)
{
case 9: printf("A\n"); break;
case 8: printf("B\n"); break;
case 7: printf("C\n"); break;
case 6: printf("D\n"); break;
default : printf("E\n");
}
return 0;
}
像风一样吹走了 风过无痕1989 发表于 2020-11-12 22:42
由于输入的整数a,可以无节制,所以,第7行应该是取余运算
#include<stdio.h>
int main()
{
int a,b;
scanf("%d",&a);
b = a % 10; // 正确的应该是取10的余数,而不是除以10
printf("%d",b); //printf(格式控制字符串,输出参值表),不用取地址符号&
switch(b)
{
case 9: printf("A\n"); break;
case 8: printf("B\n"); break;
case 7: printf("C\n"); break;
case 6: printf("D\n"); break;
default : printf("E\n");
}
return 0;
} //720907 发表于 2021-1-4 10:16
#include
int main()
{
多谢指出错误,这就修改
页:
[1]