问答详情
源自:4-17 switch与if语句的应用

代码无法运行

大神们啊,我这是怎么回事啊?
#include <stdio.h>
int main()
{
	int year = 2008;
	int month = 8;
	int day = 8;
	printf("the day is number :\t");
	int flag, sum;
	switch (month)
	{
	case '1':sum = 0; break;
	case '2':sum = 31; break;
	case '3':sum = 59; break;
	case '4':sum = 90; break;
	case '5':sum = 120; break;
	case '6':sum = 151; break;
	case '7':sum = 181; break;
	case '8':sum = 212; break;
	case '9':sum = 243; break;
	case '10':sum = 273; break;
	case '11':sum = 304; break;
	case '12':sum = 334; break;
	default:printf("error!\n"); break;
	}
	if (year % 400 == 0 || year % 4 == 0 && year % 100 != 0)
		flag = 1;
	else
		flag = 0;
	if (month>2) 
		sum = sum + flag + day;
	else sum = sum + day;
	printf("%d年%d月%d日是该年第%d天\n", year,month,day,sum);
	return 0;
}


提问者:稻草人的微笑 2015-07-23 09:54

个回答

  • 康振宁
    2015-07-23 10:02:35
    已采纳

    你month定义的是一个整型,而在switch case语句中,你用的是字符型

  • 稻草人的微笑
    2015-07-23 10:04:31

    这样啊,我去试试