Ho un problema con questo programma che ho scritto:

codice:
#include <stdio.h>

main()
{
 int a,b,c,aus;
 printf("primo numero intero: ");
 scanf("%d",&a);
 printf("secondo numero intero: ");
 scanf("%d",&b);
 while (a == b)
    { 
     printf("Errore.Inserire un numero diverso\nsecondo numero intero: ");
     scanf("d",&b);
    }
 printf("terzo numero intero: ");
 scanf("%d",&c);
 while ((a == c) || (b == c))
    {
     printf("Errore.Inserire un numero diverso\nterzo numero intero: ");
     scanf("d",&c);
    }
 aus=a;
 if (b>aus) aus=b;
 if (c>aus) aus=c;
 printf("Il maggiore fra %d , %d , %d , è %d\n",a,b,c,aus);
}
il quale va in loop infinito se gli fornisco due numeri uguali, come si puo risolvere?