RT
#include<stdio.h>
const char*ans[]={"Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"};
const int cnt[]={0,4,7,7,3,5,1,3,6,2,4,7,2};
int m,d;
int main()
{
scanf("%d%d",&d,&m);
puts(ans[cnt[m]+d%7-2]);
return 0;
}
根据我的分析,此代码RE的问题可能是数组越界或者除以 0 膜 0 的问题。但是并没有出现 0 ,所以排除第二种情况。应该是数组越界,访问到负下标的数组元素。但是题目说是正常的日期,d和m肯定大于 0 ,cnt[m]+d%7-2
也就大于 0 ,所以说应该也不会数组越界。那到底为何 RE 呢?