C编码 错误寻找

来源:百度知道 编辑:UC知道 时间:2024/06/20 09:05:44
#include<stdio.h>
main()
{ short a;
char b;
scanf("%d",&a);
switch(a)
{case a<10:b='a';break;
case a==10:b='b';break;
case a>10:b='c';break;
default:b='d';
}
printf("%d",b)
}

哪里错了。。请教

老大,switch语句不是这么用的!!case 后面的常量是用来和switch中的内容匹配的,你switch中的是a ,case语句中的是关于a的表达式,所以答案永远是b='d';
况且switch语句用在这里不太合适啊,还是改成if语句好一点...