본문 바로가기

▶개발/C Language2

C언어 단락평가(short-circuit evaluation) - AND연산에서의 단락평가 printf("%d\n", 0 && 1); // 첫번째가 거짓이므로 두번째 값 확인하지 않고 거짓으로 결정 c언어에서 0은 거짓, 0이 아닌 값은 모두 참이므로 첫 번째 값 0은 거짓으로 확인하고 논리AND 결과는 무조건 거짓이 되므로 두 번째 값은 확인하지 않는다. 즉, 논리 AND연산은 모두 참이어야 참의 결과가 나오기 때문에 하나라도 거짓일 시 뒤의 연산을 계속 하더라도 결과는 거짓으로 결정되기에 단락평가가 사용된다. - OR연산에서의 단락평가 printf("%d\n", 1 || 1); // 첫번째가 참이므로 두번째 값 확인하지 않고 참으로 결정 printf("%d\n", 1 || 0); // 첫번째가 참이므로 두번째 값이 거짓이어도 확인하지 않고 참으로 결정 논리 OR.. 2018. 2. 13.
C언어 연산자 우선순위 정리표 C언어 연산자 우선순위 우선순위 연산자 설명 결합방향 1 () [] -> . x++ x-- 함수호출 인덱스 간접지정 직접지정 후위증가 후위감소 → 2 ++x--xsizeof~!-, +&* 전위증가전위감소자료형 크기계산비트단위 NOT논리 NOT부호연산주소연산간접지정연산 ← 3 (casting) 자료형 변환 ← 4 *, /, % 곱셈, 나눗셈 관련연산 → 5 +, - 덧셈, 뺄셈 → 6 비트이동 → 7 , = 대소비교 → 8 ==, != 동등비교 → 9 & 비트 AND → 10 ^ 비트 XOR → 11 | 비트 OR → 12 && 논리 AND → 13 || 논리 OR → 14 ? : 조건연산 ← 15 =, +=, -=, *=, /=, %=, =, &=, ^=, |= 대입연산 ← 16 , 콤마연산 → 2018. 2. 13.
반응형