C++에서 중첩 된 if-else 문 사용
이 기사에서는 C++에서 중첩 된 if-else 문을 사용하는 방법에 대한 몇 가지 방법을 설명합니다.
단일if-else
문을 사용하여 C++에서 조건문 구현
조건부 실행을 구현하기 위해 C++ 언어에서 제공하는 두 가지 종류의 문이 있습니다. 하나는 조건에 따라 제어 흐름을 분기하는if
문이고 다른 하나는 가능한 실행 경로 중 하나를 선택하기 위해 표현식을 평가하는switch
문입니다. if
문은 단일 조건으로 표현되거나 다른 실행 경로를 제어하는 다단계 문으로 구성 될 수 있습니다. 단일 명령문이 조건을 따르는 경우 블록 범위를 구별하기 위해 중괄호{}
없이 작성할 수 있습니다.
#include <iostream>
#include <vector>
using std::cin;
using std::cout;
using std::endl;
using std::string;
using std::vector;
int main() {
vector<int> array = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
if (array[0] > 1) cout << "array[0] <= 1" << endl;
if (array[0] > 1) {
cout << "array[0] <= 1" << endl;
return EXIT_FAILURE;
}
return EXIT_SUCCESS;
}
중첩 된if-else
문을 사용하여 C++에서 다중 조건 프로그램 제어 흐름 구현
또는 중첩 된if-else
문을 서로 연결하여 복잡한 조건부 제어 흐름을 구현할 수 있습니다. 주어진if-else
에 대한 중괄호가 누락되면 블록이 조건없이 실행됨을 의미합니다. 후자의 시나리오는 여러if
문이 중첩되고 모든if
조건에 동일한 수준에서 해당else
블록이있는 것은 아닐 때 가장 가능성이 높습니다. 이와 같은 문제를 방지하려면 중괄호 스타일을 적용하거나 IDE 관련 도구를 사용하여 코드에서 이러한 문제를 감지해야합니다.
#include <iostream>
#include <vector>
using std::cin;
using std::cout;
using std::endl;
using std::string;
using std::vector;
int main() {
vector<int> array = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
if (array[4] > array[3]) {
cout << "array[4] > array[3]" << endl;
if (array[4] > array[5])
cout << "array[4] > array[5]" << endl;
else
cout << "array[4] <= array[5]" << endl;
}
if (array[4] > array[3]) {
cout << "array[4] > array[3]" << endl;
if (array[4] > array[5])
cout << "array[4] > array[5]" << endl;
else if (array[4] > array[6])
cout << "array[4] > array[6]" << endl;
else if (array[4] < array[5])
cout << "array[4] < array[5]" << endl;
else
cout << "array[4] == array[5]" << endl;
}
return EXIT_SUCCESS;
}
출력:
array[4] > array[3]
array[4] <= array[5]
array[4] > array[3]
array[4] < array[5]
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook