C语言一维数组查找元素位置,程序不能输出

第一行输入一个T,表示有T组测试样例。

对于每组测试样例第一行输入n,k。第二行输入n个数据(n<10000),代表n颗糖的位置(1 ~ n)。

Output
标号为k的糖在哪个位置?
input
1
10 8
2 3 4 5 6 7 9 10 2 8
output
10

#include

int main()
{
int T,t;
scanf("%d\n",&T);
for(t=0;t<=T;t++)
{
int n,k,i,q;
scanf("%d %d\n",&n,&k);
int a[n];
for(i=0;i<=n;i++)
{
scanf("%d",&a[i]);
}
while(i--)
{
if(k==a[i])
break;
printf("%d",i);
}
}
return 0;
}


int main()
{
    int T, t;
    scanf("%d\n", &T);
    for (t = 0; t < T; t++) //
    {
        int n, k, i, q;
        scanf("%d %d\n", &n, &k);
        int a[n];
        for (i = 0; i < n; i++) //
        {
            scanf("%d", &a[i]);
        }
        while (i--)
        {
            if (k == a[i])
                break;
        }
        printf("%d", i + 1);
    }
    return 0;
}

去掉scanf里面的\n