只用if来排列三个数,运行出来总达不到目的改了好久了

#include <stdio.h>
int main(void)
{
printf ("输入三个数");
int a, b, c, d=0;
scanf_s ("%d %d %d", &a, &b, &c);
if (a > b && a < c)
d = b;
b = a;
a = d;
printf("%d,%d,%d", a, b, c);

 if (a > b && a > c)
    d = c;
    c = a;
    if (b > d)
        a = d;            
    if (b < d)
        a = b;
        b = d;
    printf("%d,%d,%d", a, b, c);
 
    if (b > a && b > c)
        d = c;
        c = b;
        if (a > d)
            b = a;
            d = a;
        if (a < d)
            b = d;
            printf("%d,%d,%d", a, b, c);

return 0;

}

你if不加花括号,代码判断后只影响一行剩下的直接执行,就乱套了

估计你是其他语言用多了,C++用if最好用{}括起来,否则只有下面一行执行的。