代码无法运行

来源:4-17 switch与if语句的应用

稻草人的微笑

2015-07-23 09:54

大神们啊,我这是怎么回事啊?
#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;
}


写回答 关注

2回答

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

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

    稻草人的微笑

    非常感谢~

    2015-07-23 10:06:18

    共 1 条回复 >

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

    这样啊,我去试试

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926023 学习 · 20793 问题

查看课程

相似问题