#include<stdio.h>
int main(void)
{
int month;
int day;
printf("请输入1998年的一个月:");
scanf_s("%d", &month);
switch (month)
{
case1:day = 31; break;
case2:day = 28; break;
case3:day = 31; break;
case4:day = 30; break;
case5:day = 31; break;
case6:day = 30; break;
case7:day = 31; break;
case8:day = 31; break;
case9:day = 30; break;
case10:day = 31; break;
case11:day = 30; break;
case12:day= 31; break;
}
printf("1998的%d月有%d天", month, day);
return 0;
}
两个问题,第一个你定义day的时候没有写初始值。第二个你可以觉得Switch写了day你才用的所以没问题,但是这里Switch里的值假如不为1-12的话你是写不了day的,所以day是有可能没有赋值就输出了,然后就会报这个错误。