我明明初始化数组a的a[0]=1 为什么我检验程序运行之后会变成65?希望能解答一下,困惑了我很久了呀

#include <stdio.h>
#include <ctype.h>
int main(void)
{
int a[26]={1,3,3,2,1,4,2,4,1,8,5,1,3,1,1,3,10,1,1,1,1,4,4,8,4,10},i,j,sum=0,n;
char b[n],ch;
printf("Enter a word: ");
for (i=0;(ch=getchar())!='\n';i++){
ch=toupper(ch);
b[i]=ch;
}
n=i;
for (i=0;i<n;i++){
j=b[i] - 'A';
printf("%d\n",j);
printf("%d\n",a[0]);
printf("%d\n",a[j]);
sum=sum + a[j];
}
printf("Scrabble value: %d",sum);
return 0;
}

img

数组 b[n] 定义错误了,应该为:char b[10] .