안녕하세요. 프로그래머 선배님들! C언어 공부중인 한 직장인입니다..
죄송하지만 무언가 이해가 되지 않는 부분이 있어서 이렇게 질문을 올리게 되었습니다.
-----------------------
#include
int main(void)
{
int A = 1, B = 0;
int result;
result = (B && ++A);
printf("%d \n", A);
result = (A || ++B);
printf("%d \n", B);
return 0;
}
-----------------------
이러한 코딩을 했고
결과값이
-----------------------
1
0
-----------------------
이렇게 나왔습니다. 여기서 제가 궁금한점은. SCE로 인하여 result변수에 출력된 결값이 나오는 것은 이해가 되었는데
분명 저는 printf에 A변수를 출력하라고 입력했고, 그 밑에도 printf에 B변수를 출력하라고 입력햇으니 결과는 2, 1이 나와야하는 것 아닌가요?
왜 결과물에는 A,B의 값이 아닌 result의 값이 나왔는지가 궁금합니다.
제가 추측하는건
result = (B && ++A);
이 부분에서. 결과값은 다시 A에 저장된다는 것인가요?