c语言判断是否为相反序列


#include<stdio.h>
#include<stdlib.h>//动态数组 

int main()
{
    int q,n;
    scanf("%d",&q);
    int i,j;int num;int popnum;int out;
    for(i=0;i<q;i++)
    {        
        
        scanf("%d",&n);
        int a[n],b[n];
        for(j=0;j<n;j++)
        {
            scanf("%d",&num);
            a[j]=num;
        }
        for(j=0;j<n;j++)
        {
            scanf("%d",&out);
            b[j]=out;    
        }
        int k=0;
        while(n--)
        {
            if(a[n]!=b[k++])
            {
                printf("No");
                break;
            }
        }
        if(n==-1)
        printf("Yes");
    }
}

![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/052785418486139.png "#left")

上图为题目和我的代码,为什么明明能输出正确结果却WE

我都没看到你有输出换行符,所以肯定不对。