본문의 코드를 보면 반환하는 타입을 혼합해서 사용을 하고 있습니다.
j는 타입이 int이고 i는 타입이 float입니다.
void solution() {
float i = 12.1f;
int j = 1;
??? result = (j > 0 ? j : i);따라서 j의 값이 0보다 클 경우에는 int 타입인 1이, 그 외에는 float 타입인 12.1 이 반환됩니다.
아래와 같이 두 가지 변수를 두고 볼 수 있습니다.
j 의 값 (j > 0 or j <= 0)
리턴 받는 타입(int or float)
따라서 경우의 수가 4가지가 존재하게 됩니다.
현재 define 을 이용해서 매크로를 쓴 것이 댓글에 적혀있는데 이것을 빼고 생각해보세요.
매크로로 인해서 인지 부하가 생길 수 있습니다.