char变量的输入与输出得不到预期结果

问题遇到的现象和发生背景

输入5 6分别赋给a,b;输出a,b却得到a=0,b=6

问题相关代码,请勿粘贴截图

#include
main(){
char a=8;
char b;
scanf("%d%d",&a,&b);
printf("a=%d\nb=%d",a,b);}

运行结果及报错内容

a=0
b=6

我想要达到的结果

a=5
b=6

a和b改为int 类型

#include<stdio.h>
main(){
int a=8;
int b;
scanf("%d%d",&a,&b);
printf("a=%d\nb=%d",a,b);}

char是字符类型,存储的内容是字符,你要存储的是整数,就应该用int类型