一处VS c++错误修改,求

第一次遇到Run-Time Check Failure #2 - Stack around the variable 'a' was corrupted.,网上搜好像是溢出问题,没学到这一块,能否帮忙科普一下,这怎么修改

img

#include<stdio.h>
int main()
{
    char a;
    printf("请输入一个ASCII码值");
    scanf_s("%d",&a);
    printf("%d打印的字符为%c", a, a);
    return 0;
}


scanf_s("%d",&a);
改为
scanf_s("%c",&a);