C++输入字母后输出结果均为0

代码要求判断输入的是否是字母
#include

int main()
{
char c;

printf("Please enter a character ");
scanf("%d", &c);

((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')) && printf("The character you entered is %d,it is an alphabet.", c);
((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')) || printf("The character you entered is %d,it isn't an alphabet.", c);

return 0;
}

只要输入字母就会显示 The character you entered is 0.
课上还没讲解字符类型相关的点,我自己完全不清楚怎么解决。
还请各位指点

scanf("%d", &c);
改成 scanf("%c", &c); char类型 用%c接收 ,%d只能接收整形

scanf那里是%c

你输入的时候换成%c,最后输出也换成%c
scanf("%c",&c);
printf("%c",c);

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^