C语言 下面的题目哪里错了 为什么运行时说Compilation Error

来源:百度知道 编辑:UC知道 时间:2024/06/30 23:01:40
#include<stdio.h>
#include<string.h>
int main()
{
char a[10],x[10]="Faster",y[10]="Higher",z[10]="Stronger";
int n,m,min=2008,max=-1,b[2009];
scanf("%d",&n);
while(n<=50&&n--)
{
gets(a);
gets(a);
scanf("%d",&m);
if(strcmp(a,x)==0)
{
for(int i=0;i<m;i++)
{
scanf("%d",&b[i]);
if(b[i]<min)
min=b[i];

}
printf("%d\n",min);
min=2008;
}
if(strcmp(a,y)==0||strcmp(a,z)==0)
{
for(int i=0;i<m;i++)
{
scanf("%d",&b[i]);
if(b[i]>max)
max=b[i];
}

我用VC6.0运行未发现错误,但是也没做出什么结果,应该没有编译错误,可能有逻辑错误吧!

你将 for(int i=0;i<m;i++) 将i定义到第六行
gets(a); 这里两个gets(a)是不是故意定义的
将i定义到第六行就能正常运行
还有建议你最好在每个要输入的数字或字符时,提示输入什么东西。