최대값, 중간값, 최소값 구하는 것인데, 삼항연산쪽에서 문제가 있어 도움을 요청하게 되었습니다.
가장
//포인터를 이용하여 최대값, 중간값, 최소값을 구하는 프로그램 (if대신 삼항연산자를 사용)
#include stdio.h
int nA, nB, nC;
void ENTER(int, int , int);
int nARRAGNGE_UP(int *, int *, int *);
int main()
{
ENTER(nA, nB, nC);//입력함수 호출
return 0;
}
void ENTER(int nA, int nB, int nC)
{
nA, nB, nC = 0;
printf(A값입력 : );
scanf(%d, &nA);
printf(B값입력 : );
scanf(%d, &nB);
printf(C값입력 : );
scanf(%d, &nC);
nARRAGNGE_UP(&nA, &nB, &nC);//정렬함수 호출
}
int nARRAGNGE_UP(int *nMAX, int *nMID, int *nMIN)
{
int nTEMP = 0;
int nRESULT;
nRESULT = (*nMAX *nMID) ? nTEMP = *nMAX, *nMAX = *nMID, *nMID = nTEMP
: (*nMAX *nMIN) ? nTEMP = *nMAX, *nMAX = *nMIN, *nMIN = nTEMP
: (*nMID *nMIN) ? nTEMP = *nMIN, *nMID = *nMIN, *nMIN = nTEMP : 0;
printf(MAX : %d\nMID : %d\nMIN : %d\n, *nMAX, *nMID, *nMIN);
return nRESULT;
}
-------------
걍, 포인터 연결해서 최대값, 중간값, 최소값을 구하는 것입니다.
IF문을 사용해도 되긴 하는데, 뭔가 깔끔(?)한 걸 찾아서 하다 보니 삼한연산자에 손을 데어 코딩을 해보게 되었는데요.
출력을 하였더니, 이상하게 값이 뒤죽박죽으로 정렬이 되어버립니다.
그렇다면 제가 삼항연산에서 제가 무엇을 잘못하였나요?