ваш способ неверен, например, с помощью ввода 2 1 4 3 if(a>b)
- правда, но if(a>c)
- ложь, поэтому вы больше ничего не делаете и не обнаруживаете максимальное число
из вашей проблемы я также призываю вас проверить 4 действительных int была проверка ввода scanf("%d %d %d %d",&a,&b,&c,&d)
возвращает 4
предложение:
#include<stdio.h>
int main()
{
int a,b,c,d;
if (scanf("%d %d %d %d",&a,&b,&c,&d) != 4)
fprintf(stderr, "error while entering the 4 values\n");
else {
printf("the enter no.: is %d %d %d %d\n",a,b,c,d);
int max = a;
if (b > max)
max = b;
if (c > max)
max = c;
if (d > max)
max = d;
printf("the greater is %d\n", max);
}
return 0;
}
Компиляция и исполнение:
pi@raspberrypi:/tmp $ gcc -pedantic -Wall -Wextra m.c
pi@raspberrypi:/tmp $ ./a.out
1 2 4 3
the enter no.: is 1 2 4 3
the greater is 4
Конечно, есть и другой способ обойтись без запоминания всех чисел