为什么测试出来是RE?怎样才能避免这样的错误?

图片说明图片说明


#include
#define N 100
#include
int main()
{
int a[N],b[N],i,j=0,n,max=0;
memset(b,0,sizeof(b));
memset(a,0,sizeof(a));
scanf("%d",&n);
for(i=0;i {
scanf("%d",&a[i]);
}
for(i=1;i {
if(a[i]>a[i-1])
b[j]=b[j]+1;
else
{
j++;
b[j]++;
}
}
max=b[0];
for(i=0;i {
if(b[i]>max)
max=b[i];
}
printf("%d",max);
return 0;
}

7
1 2 3 4 3 3 3
你的结果
3
显然不对

给你修改了下

#include <stdio.h>
#include <string.h>
#define N 100

int main()
{
    int a[N],i,j=1,n,max=1;
    scanf("%d",&n);
    for(i=0;i < n;i++) {
        scanf("%d",&a[i]);
    }
    for(i=1;i < n; i++){
        if(a[i]>a[i-1])
            j++;
        else
            j = 1;
        if (j > max) max = j;
    }
    printf("%d",max);
    return 0;
}