int value(int a){switch(a){case '1': case '3': case '5': case '7': case '8': case '10':return 31;break;case '4':case '6':case '9':case '11':return 30;break;case '2':return 28;break;}}
3 回答
不负相思意
TA贡献1777条经验 获得超10个赞
vs2010下测试没问题。注意ascii码和整数的转换。case的是ascii码值。
测试代码:
#include <stdio.h>
int value(int a)
{
switch(a){
case '1': case '3': case '5': case '7': case '8': case '10':
return 31;
break;
case '4':case '6':case '9':case '11':
return 30;
break;
case '2':
return 28;
break;
}
}
int main()
{
printf("%d\n", value('1'));
printf("%d\n", value('6'));
getchar();
return 0;
}
子衿沉夜
TA贡献1828条经验 获得超3个赞
可以用return,条件的问题吧。
变量a是int ,你让它等于一个char,是不是判断条件都跳过了,
你最后加一个:
default:
return 100;
试试,应该是条件都没有走到吧。
添加回答
举报
0/150
提交
取消