프로그램/C/C++/OOC
[C 역량 강화 문제] 논리 연산 문제 - 답 리플 금지
와이즈캣
2008. 3. 25. 12:32
다음 소스에서 ||(OR)연산자를 사용했는데도 불구하고
변수 b의 값이 증가되지 않는 이유는?
변수 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]