안녕하세요?
몇 년 째 집에 있는 C언어 책을 방치해두었다가
근래들어 공부를 하고 있습니다.
논리연산자 파트에 있는 예제의 결과를 보면서
대체 어떻게해서 이렇게 나오는건지 무척이나 궁금하더군요.
#include<stdio.h>
#include<conio.h>
void main()
{
int a =5, b=3, c=1, d;
d=(a=a-2)||(b=b-1);
printf("d=%d a=%d b=%d\n", d, a, b);
d=(a=a-3)&&(c=c+3);
printf("d=%d a=%d c=%c", d, a, c);
getch();
}
입니다.
책의 결과에서는
d=1 a=3 b=3
d=0 a=0 c=1
라고 써있던데요.
왜 이런 값들이 나온지 제 머리로는 알 수가 없네요 ㅜ_ㅡ
그리고 저 예제가 틀린게 아닐까 하고 터보씨에 쳐봤는데
Possibly incorrect assignment 이런 경고 메세지가 뜨더군요.
-_- 대체 무엇인지요?
|