728x90
후위 또는 전위 증감연산자 ++이나 --는 코드를 읽고 지나가기만 하면 작동됩니다. 쓰임은 다들 아실테지만 조건문에 잘 못 넣어서 의도와 다르게 작동할 때가 종종 있습니다.
아래 코드의 결과는 3입니다. 조건절에 하나도 걸린게 없음에도 i의 값이 3 증가되었습니다. if문의 조건을 세 번 통과하면서 ++i 가 작동했기 때문입니다. 만약 조건에 맞았을 때 i가 증가하도록 의도했다면 오작동하게 됩니다. 따라서 의도한 바가 아니라면 if문의 조건식 안에는 증감연산자를 넣지 않는 것이 좋습니다.
#include <stdio.h>
int main()
{
int i = 0;
if (++i == 12)
puts("ㅇ.ㅇ");
else if (++i == 12)
puts("ㅇ.ㅇ");
else if (++i == 12)
puts("ㅇ.ㅇ");
printf("%d", i); // i의 값은 3이 되어 출력됨
}
728x90
'▸C언어 > 개발 TIP' 카테고리의 다른 글
삼항연산자(3항연산자) 사용법 (if문 대체) (0) | 2019.12.05 |
---|---|
콘솔 깜박임 없애는 방법 (쉬운 더블 버퍼링) (0) | 2019.12.05 |
atoi() 함수 없이 문자열의 숫자를 int타입으로 변환 (0) | 2019.12.05 |
Debug 모드에서 sprintf_s() 함수 사용 시 주의사항 (0) | 2019.12.05 |
댓글