if statement
조건부로 코드를 실행합니다.
코드가 특정 조건이 참일 때만 실행되어야 하는 경우에 사용됩니다.
목차 |
구문
attr-spec-seq
(선택 사항)
if (
expression
)
statement-true
|
(1) | ||||||||
attr-spec-seq
(선택 사항)
if (
expression
)
statement-true
else
statement-false
|
(2) | ||||||||
| attr-spec-seq | - | (C23) if 문에 적용되는 속성 의 선택적 목록 |
| expression | - | 모든 스칼라 타입의 표현식 |
| statement-true | - | expression 이 0 과 비교하여 같지 않을 때 실행되는 문 (주로 복합문) |
| statement-false | - | expression 이 0 과 비교하여 같을 때 실행되는 문 (주로 복합문) |
설명
expression 는 모든 scalar type 의 표현식이어야 합니다.
만약 expression 이 정수 0과 같지 않게 비교되면, statement-true 가 실행됩니다.
형태 (2) 에서, expression 이 정수 0과 같음을 비교할 경우, statement-false 가 실행됩니다.
|
다른 모든 선택 및 반복문과 마찬가지로, 전체 if문은 자체 블록 범위를 가집니다: enum {a, b}; int different(void) { if (sizeof(enum {b, a}) != sizeof(int)) return a; // a == 1 return b; // b == 0 in C89, b == 1 in C99 } |
(C99부터) |
참고 사항
else 는 항상 가장 가까운 앞쪽의 if 와 연결됩니다(즉, statement-true 가 if 문인 경우, 해당 내부 if 문도 반드시 else 부분을 포함해야 함):
만약 statement-true 가 goto 를 통해 진입되면, statement-false 는 실행되지 않습니다.
키워드
예제
출력:
i > 2 is false i == 3 i != 3 is false
참고문헌
- C23 표준 (ISO/IEC 9899:2024):
-
- 6.8.5.2 if 문 (p: 154)
- C17 표준 (ISO/IEC 9899:2018):
-
- 6.8.4.1 if 문 (p: 108-109)
- C11 표준 (ISO/IEC 9899:2011):
-
- 6.8.4.1 if 문 (p: 148-149)
- C99 표준 (ISO/IEC 9899:1999):
-
- 6.8.4.1 if 문 (p: 133-134)
- C89/C90 표준 (ISO/IEC 9899:1990):
-
- 3.6.4.1 The if statement
참고 항목
|
C++ 문서
for
if
statement
|