프로그램/C/C++/OOC 31

[C 역량 강화 문제] 논리 연산 문제 - 답 리플 금지

다음 소스에서 ||(OR)연산자를 사용했는데도 불구하고 변수 b의 값이 증가되지 않는 이유는? 소스 1 int main() { int a = 0; int b = 2; a=1 || ++b; printf("b = [%d]\n",b); return 0; } 출력 : b = [2] 논리 &&와 ||는 우선순위가 &&가 더 높은데 아래처럼 출력 되는 이유는? 소스 2 int main() { int a = 2; int b = 2; int c = 0; c = 1 || ++a && ++b; // c = 1 || (++a&&++b); 를 해도 a,b값은 올라가지 않는 가? printf("a = [%d], b = [%d]\n", a, b); return 0; } 출력 : a = [2], b = [2]