Page 24 - Do it! 자료구조와 함께 배우는 알고리즘(C 언어, 3쇄)
P. 24
런데 분기하는 모습은 다릅니다. 오른쪽처럼 n의 값이 4나 –8이라도 실행 결과
1이나 2가 아니면 3 이 실행됩니다. 왜냐하면 초록색 박스로 표시한 수를 입력하세요. : 4
이것은 3입니다.
부분을 삭제하기 전인 [리스트 1]은 아래의 if문 같은 역할을 하기 때
문입니다(chap1/if123c.c).
리스트 2
if(n == 1)
printf("1입니다.\n"); 1
else if(n == 2)
printf("2입니다.\n"); 2
else if(n == 3)
printf("3입니다.\n"); 3
else
; /* 공백문(실제로 아무것도 하지 않는 문장) */
따라서 [리스트 1]의 프로그램 흐름은 실제로 네 가지로 분기합니다. 실습 1-3의 if문은 구조
가 다르므로 네모로 표시한 부분을 생략할 수 없습니다.
보충수업 1-5 조건 연산자
3개의 피연산자(operand)를 갖는 3항 연산자 ? :를 조건 연산자(conditional operator)라 합니다. 조
건식(conditional expression)의 평가를 정리한 것이 그림 1C-5입니다.
예를 들어,
min = a < b ? a : b;
에서 변수 min에 대입되는 값은 a가 b보다 작으면 a 값, 그렇지 않으면 b 값입니다.
조건식 a a가 29, b가 52인 경우
a < b ? a : b int 29
식1 ? 식2 : 식3
이 식의 결과가 선택됩니다.
을 평가한 값은 아래와 같습니다.
우선 식1을 평가하여 그 값이 b a가 31, b가 15인 경우
a true면 식2의 결과값이 선택됩니다.
a < b ? a : b int 15
b false면 식3의 결과값이 선택됩니다.
이 식의 결과가 선택됩니다.
[그림 1C-5] 조건식의 평가
24 C 알고리즘