최대값, 중간값, 최소값 구하는 것인데, 삼항연산쪽에서 문제가 있어 도움을 요청하게 되었습니다.

//포인터를 이용하여 최대값, 중간값, 최소값을 구하는 프로그램 (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문을 사용해도 되긴 하는데, 뭔가 깔끔(?)한 걸 찾아서 하다 보니 삼한연산자에 손을 데어 코딩을 해보게 되었는데요.

출력을 하였더니, 이상하게 값이 뒤죽박죽으로 정렬이 되어버립니다.

그렇다면 제가 삼항연산에서 제가 무엇을 잘못하였나요?

댓글 0

아직 댓글이 없습니다.

C언어 다른 글

목록