c语言<ctype.h>函数使用的问题

#include<stdio.h>
#include<ctype.h>
int main()
{
    int c;
    scanf("%d",&c);
    if(isdigit(c)!=0)
     printf("%d",c);
    else
     printf("error");
    return 0;
} 

请问输入数字为什么仍然是error?图片说明

scanf("%d",&c);
->
scanf("%c",&c);
或者
if(isdigit(c)!=0)
->
if(isdigit(c + '0')!=0)