数组问题,无法正确输出

问题遇到的现象和发生背景
用代码块功能插入代码,请勿粘贴截图
我想要达到的结果
#include
int main() {
    char a[100] = { 0 };
    int n = 0;
    scanf_s("%d", &n);
    for (int i = 0;i < n;i++) {
        scanf_s("%c", &a[i]);
    }
    for (int i = 0;i < n;i++) {
        printf("%c ", a[i]);
    }
    printf("\n");
    return 0;
}

为什么无法输出正确的结果

img

scanf_s("%c", &a[i],1)

循环的时候 i <= n; 不然最后一个字符还没进去就结束循环了,所以最后打印没有最后一个字符。