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

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;
}
}

繁星淼淼
浏览 175回答 3
3回答

不负相思意

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;}

子衿沉夜

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

繁花如伊

可以用return,只不过你传值时应该注意,应该穿字符变量或常量,如value('3');这样就行了。
打开App,查看更多内容
随时随地看视频慕课网APP