if의 조건은 결국 bool (true/false)else if는 위에서 아래로 순서대로 검사 → 순서가 로직else는 “나머지 모든 경우”를 안전하게 처리하는 기본값{}는 버그를 막는 안전장치(초반엔 항상 쓰는 습관 추천)if (hp <= 0) {
cout << "죽었습니다.";
}
if (hp <= 0) {
cout << "죽었습니다.";
} else {
cout << "살았습니다.";
}
else if는 “한 번이라도 참이 나오면” 그 블록만 실행하고 끝납니다.
그래서 조건을 좁혀가는 순서가 중요합니다.
if (hp <= 0) {
cout << "몬스터를 처치했습니다.";
} else if (hp <= 30) {
cout << "몬스터가 도망갔습니다!";
} else {
cout << "몬스터가 반격했습니다.";
}
{}를 붙이면 실수를 크게 줄일 수 있습니다.if (hp <= 0)
cout << "죽었습니다.";
cout << "게임 오버"; // (주의) 이 줄은 if와 무관하게 항상 실행됨
위 같은 실수는 {}를 붙이면 사라집니다.
if (hp <= 0) {
cout << "죽었습니다.";
cout << "게임 오버";
}
if (hp <= 0) {
// 죽음 처리
} else if (hp <= 30) {
// 위험 상태
} else {
// 정상 상태
}
else if의 순서가 바뀌면 결과가 달라질 수 있을까? 왜 그럴까?else를 붙이는 게 안전한 이유는 뭘까?{}를 생략했을 때 생기는 대표 버그는 어떤 형태일까?