大佬们,为什么这个程序在dev c++上能运行(答案没问题),在codeup上提交时显示运行错误?

http://codeup.cn/problem.php?cid=100000576&pid=3(题目)

#include<stdio.h>
#include<string.h> 
int flag[101];
int main()
 {   
     
	int n;
    while(scanf("%d",&n)!=EOF)
{   memset(flag,0,sizeof(flag));
    int x;
	for(int i=0;i<n;i++)
	{
		scanf("%d",&x);
		flag[x]=1;
	}
    int m;
    scanf("%d",&m);
    int e;
	for(int i=0;i<m;i++)
	{
		scanf("%d",&e);
		if(flag[e]==1)
		{
			printf("YES\n");
		}
		else
		printf("NO\n");
	}
	
}
   return 0;
  }

 

scanf("%d",&x);//第12行
flag[x]=1;

scanf("%d",&e);//第21行
if(flag[e]==1)
{
	printf("YES\n");
}
else
printf("NO\n");

输入的x或e可能会大于100,导致flag数组访问越界产生运行时错误

你可以尝试一下的输入样例:

6
3 2 5 4 7 101
2
3 6 101