c의 삼항연산자를 이용한 최대최소 연습
조회수 506회
제가 연습하면서 만든 코드입니다!
#include <stdio.h>
int main(void) {
int nMax = 0;
int a, b, c;
scanf("%d, %d, %d", &a, &b, &c);
a > b ? (nMax = a) : (nMax = b);
nMax > c ? nMax : (nMax = c);
printf("MAX: %d\n", nMax);
return 0;
}
안녕하세요! c를 공부하기 시작한 코린이 입니다! 다들 쉬우시겠지만... 저는 이게 왜 잘못된 값이 출력되는지 모르겠어서 질문합니다
최댓값이 나와야 하는데 최솟값이 나와요. 왤까요?
-
(•́ ✖ •̀)
알 수 없는 사용자 - 〉
1 답변
-
삼항 연산자 부분은 문제가 없는데, scanf 함수 부분에 문제가 있네요.
scanf 함수의 형식화 문자열을
"%d, %d, %d"
에서 콤마를 제거하셔야 합니다.아래 코드 참고하세요.
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> int main(void) { int nMax = 0; int a, b, c; scanf("%d %d %d", &a, &b, &c); a > b ? (nMax = a) : (nMax = b); nMax > c ? nMax : (nMax = c); printf("MAX: %d\n", nMax); return 0; }
- 결과
-
(•́ ✖ •̀)
알 수 없는 사용자
댓글 입력