C 언어 - ex12_중첩 if문

C 언어|2022. 5. 15. 23:23

// 중첩 if문

// 중괄호 코딩 스타일


#include <stdio.h>

int main() {
int a, b, c;


scanf_s("%d%d%d", &a, &b, &c);

if (a > b) {
// a > b > c 
// a > c > b
// c > a > b
// 3중으로된 연산자를 알 수가 없다.
if ( a > c){ // 최대값으로 만들기위해 중첩문을  사용
printf("%d\n", a);
}
else {// c > a
 printf("%d\n", c);
}
else { // b > a
if (b > c) {// b 가 c 보다 크면 b가 최대값이된다.
printf("%d\n", b);
}
else {// c > b
// c가 b보다 크다 
printf("%d\n", c);
}
}
}
}

// 최대값만 출력이되는 프로그램




##################################### 코드를 조금 줄이기

#include <stdio.h>

int main() {
int a, b, c;


scanf_s("%d%d%d", &a, &b, &c);

if (a > b) {
if (a > c) {
// 최대값으로 만들기위해 중첩문을  사용
printf("%d\n", a);
}
else {// c > a
printf("%d\n", c);
}
// 위조건을 만족하지않을 경우가 else if가 실행된다.

else if (b > c) {
printf("%d\n", b);
}
else {// c > b
// c가 b보다 크다 

printf("%d\n", c);
}
}
// 이코드를 보고 한번에 이해하기 어렵기 때문에 잘 사용 하지않음
}
}







####################################################

if 문안에 문장이 하나만있으면 중가로를 생략이 가능하다

#include <stdio.h>

int main() {
int a, b, c;


scanf_s("%d%d%d", &a, &b, &c);

if (a > b) {
if (a > c) 
// 최대값으로 만들기위해 중첩문을  사용
printf("%d\n", a);
else {// c > a
printf("%d\n", c);
}
// 위조건을 만족하지않을 경우가 else if가 실행된다.

else if (b > c) 
printf("%d\n", b);
else {// c > b
// c가 b보다 크다 
printf("%d\n", c);
}




#######################################코드 한줄에 몰아넣기 - 중가로도 없애면서.

if 문안에 문장이 하나만있으면 중가로를 생략이 가능하다

#include <stdio.h>

int main() {

int a, b, c;


scanf_s("%d%d%d", &a, &b, &c);

if (a > b) {
if (a > c)  printf("%d\n", a);
else printf("%d\n", c);
}
else if (b > c) printf("%d\n", b);
else printf("%d\n", c);
}

if 문안에 한문장이들어가더라도 중가로를 쓰자.



댓글()