为了账号安全,请及时绑定邮箱和手机立即绑定

请问在vc上为什么无效果,求解释!

请问在vc上为什么无效果,求解释!

繁星淼淼 2022-06-03 15:11:40
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;
}


查看完整回答
反对 回复 2022-06-06
?
子衿沉夜

TA贡献1828条经验 获得超3个赞

可以用return,条件的问题吧。
变量a是int ,你让它等于一个char,是不是判断条件都跳过了,
你最后加一个:
default:
return 100;
试试,应该是条件都没有走到吧。

查看完整回答
反对 回复 2022-06-06
?
繁花如伊

TA贡献2012条经验 获得超12个赞

可以用return,只不过你传值时应该注意,应该穿字符变量或常量,如value('3');这样就行了。

查看完整回答
反对 回复 2022-06-06
  • 3 回答
  • 0 关注
  • 174 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信