책에 있는 연습문젠데 세개의 정수를 입력받아 가장 큰수 구하는 프로그램 짜라는 문제거든

근데 전처리기 파트라서 매크로 함수 정의 해서 작성하래

#includ<stdio.h>
#define MAX(a,b,c) printf(">>가장 큰 수 : %d\n",a>b&&a>c?a:(b>a&&b>c?b:c));
int main()
{
 int x,y,z;
 printf("세 개의 수: ");
 scanf("%d %d %d",&x,&y,&z);
 MAX(x,y,z);
return 0;
}

이렇게 짜 봣는데

조건연산자 저렇게 쓰는게 적절한거야?