输出整型没错 但输入字母会报错

//写代码将三个数从大到小输出
int main()
{
int a = 0;
int b = 0;
int c = 0;
scanf_s("%d %D %D", &a, & b, & c);
if (a < b)
{
int tmp = a;
a = b;
b = tmp;
}
if(a<c)
{
int tmp = a;
a = c;
c= tmp;
}
if (b < c)
{
int tmp = b;
b = c;
c = tmp;
}
if ((a, b, c) != 0)
{
printf("输入错误");
}
printf("%D %D %d", a,b,c);
}
想问一下如何能写一个代码 输入非int类型打印输入错误

你这a,b,c是整形变量啊,你输入字母当然不行了

img

测试图:

img

代码修改之后如下:

#include<stdio.h>

int main()
{
    int a = 0;
    int b = 0;
    int c = 0;
    scanf_s("%d%d%d", &a, & b, & c);
    if (a < b)
    {
        int tmp = a;
        a = b;
        b = tmp;
    }
    if(a<c)
    {
        int tmp = a;
        a = c;
        c= tmp;
    }
    if (b < c)
    {
        int tmp = b;
        b = c;
        c = tmp;
    }
    printf("%d %d %d", a,b,c);
    return 0;
}

希望对题主有所帮助,可以的话,帮忙点个采纳!