다음 소스에서 ||(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]
'프로그램 > C/C++/OOC' 카테고리의 다른 글
가변인자 함수 만들기 (0) | 2009.04.24 |
---|---|
리눅스에서의 화면 클리어 (0) | 2008.10.20 |
함수 포인터 예제 (0) | 2008.07.15 |
scanf의 입력 버퍼에 대하여... (0) | 2008.06.15 |
중간 파일 생성 - Linux (0) | 2008.04.03 |
중간 파일 생성 - 전부 (0) | 2008.04.03 |
함수 인수의 확장 (0) | 2008.03.10 |
[템플릿 오버로딩] 명시적 특수화(Explicit Specialization) (0) | 2008.03.10 |
클래스 초기화에서 생성자 구문(Constructor Syntax) (0) | 2008.03.10 |
C에서 가변인자 사용하기 (0) | 2007.02.27 |